一个Js的banner主广告播放器

2016-07-07 16:03 来源:www.chinab4c.com 作者:ecshop专家



原来flash的手机看不怎么方便,加载又慢。。。奔着这个想法,我找了一堆js脚本改了又改做个现在这样的。
原版是仿QQ软件效果的,我改了特效,宽高。
演示:

天美服装租赁



个人感觉马马虎虎了,大概达到心中想要的结果了。虽然不太完美,还没空去研究怎么做成一个后台可控制的播放器,先将就用着,以后有空了再改。


安装方法
附件不知道为什么传了找不到路径。。。。chrome浏览器。。ie10.。 代码直接粘贴到楼下吧。。
安装方法,附件解压打开,
index.html 记事本打开全选复制到后台:系统设置-首页主广告管理-自定义-添加播放器-选择代码-粘贴进去
里面可以更改css文件的路径,默认是<LINK rel=stylesheet type=text/css href="css/sharejs.css">
还有50,//滑动持续时间

Time:
10,//滑动延时

Pause:
4000,//停顿时间(Auto为true时有效)


图片路径还有链接这里改
<DIV id=idContainer2 class=container>
<TABLE id=idSlider2 border=0 cellSpacing=0 cellPadding=0>
<TBODY>
<TR>
<TD class=td_f><A href="http://www.021tianmei.com/" target="_blank"><IMG src="images/1.jpg"></A></TD>

<TD class=td_f><A href="http://www.021tianmei.com/" target="_blank"><IMG src="images/2.jpg"></A></TD>

<TD class=td_f><A href="http://www.021tianmei.com/" target="_blank"><IMG src="images/3.jpg"></A></TD>

<TD class=td_f><A href="http://www.021tianmei.com/" target="_blank"><IMG src="images/4.jpg"></A></TD>

<TD class=td_f><A href="http://www.021tianmei.com/" target="_blank"><IMG src="images/5.jpg"></A></TD>
</TR></TBODY></TABLE>
<UL id=idNum class=num></UL>
</DIV>


这些都可以在这堆代码里修改
还有banner具体大小可以在css里修改
.container {

WIDTH: 960px;

HEIGHT: 400px
}
.container A IMG {

WIDTH: 960px;

HEIGHT: 400px
另外求助我网站ie6打开排版问题,foot跑到上面来:
http://bbs.ecshop.com/thread-1108886-1-1.html

回答:
css文件的
  1. BODY {font-size:12px}
  2. UL {PADDING: 0px; MARGIN: 0px;}
  3. LI {PADDING: 0px; MARGIN: 0px;}
  4. P {line-height:10px;}

  5. .container {
  6. WIDTH: 960px;
  7. HEIGHT: 400px
  8. }
  9. .container A IMG {
  10. WIDTH: 960px;
  11. HEIGHT: 400px
  12. }
  13. .container IMG {
  14. BORDER-BOTTOM-STYLE: none;
  15. BORDER-RIGHT-STYLE: none;
  16. BORDER-TOP-STYLE: none;
  17. BORDER-LEFT-STYLE: none
  18. }
  19. .td_f A IMG {
  20. PADDING-BOTTOM: 0px;
  21. MARGIN: 0px;
  22. PADDING-LEFT: 0px;
  23. PADDING-RIGHT: 0px;
  24. PADDING-TOP: 0px
  25. }
  26. .num {
  27. POSITION: absolute;
  28. WIDTH: 90px;
  29. FLOAT: right;
  30. TOP: 380px;
  31. LEFT: 870px
  32. }
  33. .num LI {
  34. TEXT-ALIGN: center;
  35. LINE-HEIGHT: 15px;
  36. LIST-STYLE-TYPE: none;
  37. MARGIN: 1px;
  38. WIDTH: 15px;
  39. FONT-FAMILY: Arial;
  40. FLOAT: left;
  41. HEIGHT: 15px;
  42. COLOR: #86a2b8;
  43. FONT-SIZE: 12px;
  44. CURSOR: pointer
  45. }
  46. .num LI.on {
  47. LINE-HEIGHT: 15px;
  48. WIDTH: 15px;
  49. HEIGHT: 15px;
  50. COLOR: #ffffff
  51. }
复制代码






需要粘贴到后台的

  1. <LINK rel=stylesheet type=text/css href="css/sharejs.css">
  2. <SCRIPT type=text/javascript>
  3. var $ = function (id) {
  4. return "string" == typeof id ? document.getElementById(id) : id;
  5. };

  6. var Extend = function(destination, source) {
  7. for (var property in source) {
  8. destination[property] = source[property];
  9. }
  10. return destination;
  11. }

  12. var CurrentStyle = function(element){
  13. return element.currentStyle || document.defaultView.getComputedStyle(element, null);
  14. }

  15. var Bind = function(object, fun) {
  16. var args = Array.prototype.slice.call(arguments).slice(2);
  17. return function() {
  18. return fun.apply(object, args.concat(Array.prototype.slice.call(arguments)));
  19. }
  20. }

  21. var Tween = {
  22. Quart: {
  23. easeOut: function(t,b,c,d){
  24. return -c * ((t=t/d-1)*t*t*t - 1) + b;
  25. }
  26. },
  27. Back: {
  28. easeOut: function(t,b,c,d,s){
  29. if (s == undefined) s = 1.70158;
  30. return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
  31. }
  32. },
  33. Bounce: {
  34. easeOut: function(t,b,c,d){
  35. if ((t/=d) < (1/2.75)) {
  36. return c*(7.5625*t*t) + b;
  37. } else if (t < (2/2.75)) {
  38. return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
  39. } else if (t < (2.5/2.75)) {
  40. return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
  41. } else {
  42. return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
  43. }
  44. }
  45. }
  46. }


  47. //容器对象,滑动对象,切换数量
  48. var SlideTrans = function(container, slider, count, opti**) {
  49. this._slider = $(slider);
  50. this._container = $(container);//容器对象
  51. this._timer = null;//定时器
  52. this._count = Math.abs(count);//切换数量
  53. this._target = 0;//目标值
  54. this._t = this._b = this._c = 0;//tween参数

  55. this.Index = 0;//当前索引

  56. this.SetOpti**(opti**);

  57. this.Auto = !!this.opti**.Auto;
  58. this.Duration = Math.abs(this.opti**.Duration);
  59. this.Time = Math.abs(this.opti**.Time);
  60. this.Pause = Math.abs(this.opti**.Pause);
  61. this.Tween = this.opti**.Tween;
  62. this.**tart = this.opti**.**tart;
  63. this.onFinish = this.opti**.onFinish;

  64. var bVertical = !!this.opti**.Vertical;
  65. this._css = bVertical ? "top" : "left";//方向

  66. //样式设置
  67. var p = CurrentStyle(this._container).position;
  68. p == "relative" || p == "absolute" || (this._container.style.position = "relative");
  69. this._container.style.overflow = "hidden";
  70. this._slider.style.position = "absolute";

  71. this.Change = this.opti**.Change ? this.opti**.Change :
  72. this._slider[bVertical ? "offsetHeight" : "offsetWidth"] / this._count;
  73. };
  74. SlideTrans.prototype = {
  75. //设置默认属性
  76. SetOpti**: function(opti**) {
  77. this.opti** = {//默认值
  78. Vertical: true,//是否垂直方向(方向不能改)
  79. Auto: true,//是否自动
  80. Change: 0,//改变量
  81. Duration: 50,//滑动持续时间
  82. Time: 10,//滑动延时
  83. Pause: 4000,//停顿时间(Auto为true时有效)
  84. **tart: function(){},//开始转换时执行
  85. onFinish: function(){},//完成转换时执行
  86. Tween: Tween.Quart.easeOut//tween算子
  87. };
  88. Extend(this.opti**, opti** || {});
  89. },
  90. //开始切换
  91. Run: function(index) {
  92. //修正index
  93. index == undefined && (index = this.Index);
  94. index < 0 && (index = this._count - 1) || index >= this._count && (index = 0);
  95. //设置参数
  96. this._target = -Math.abs(this.Change) * (this.Index = index);
  97. this._t = 0;
  98. this._b = parseInt(CurrentStyle(this._slider)[this.opti**.Vertical ? "top" : "left"]);
  99. this._c = this._target - this._b;

  100. this.**tart();
  101. this.Move();
  102. },
  103. //移动
  104. Move: function() {
  105. clearTimeout(this._timer);
  106. //未到达目标继续移动否则进行下一次滑动
  107. if (this._c && this._t < this.Duration) {
  108. this.MoveTo(Math.round(this.Tween(this._t++, this._b, this._c, this.Duration)));
  109. this._timer = setTimeout(Bind(this, this.Move), this.Time);
  110. }else{
  111. this.MoveTo(this._target);
  112. this.Auto && (this._timer = setTimeout(Bind(this, this.Next), this.Pause));
  113. }
  114. },
  115. //移动到
  116. MoveTo: function(i) {
  117. this._slider.style[this._css] = i + "px";
  118. },
  119. //下一个
  120. Next: function() {
  121. this.Run(++this.Index);
  122. },
  123. //上一个
  124. Previous: function() {
  125. this.Run(--this.Index);
  126. },
  127. //停止
  128. Stop: function() {
  129. clearTimeout(this._timer); this.MoveTo(this._target);
  130. }
  131. };
  132. </SCRIPT>
  133. </head>

  134. <DIV id=idContainer2 class=container>
  135. <TABLE id=idSlider2 border=0 cellSpacing=0 cellPadding=0>
  136. <TBODY>
  137. <TR>
  138. <TD class=td_f><A href="http://www.021tianmei.com/" target="_blank"><IMG src="images/1.jpg"></A></TD>
  139. <TD class=td_f><A href="http://www.021tianmei.com/" target="_blank"><IMG src="images/2.jpg"></A></TD>
  140. <TD class=td_f><A href="http://www.021tianmei.com/" target="_blank"><IMG src="images/3.jpg"></A></TD>
  141. <TD class=td_f><A href="http://www.021tianmei.com/" target="_blank"><IMG src="images/4.jpg"></A></TD>
  142. <TD class=td_f><A href="http://www.021tianmei.com/" target="_blank"><IMG src="images/5.jpg"></A></TD>
  143. </TR></TBODY></TABLE>
  144. <UL id=idNum class=num></UL>
  145. </DIV>

  146. <SCRIPT>
  147. var forEach = function(array, callback, thisObject){
  148. if(array.forEach){
  149. array.forEach(callback, thisObject);
  150. }else{
  151. for (var i = 0, len = array.length; i < len; i++) { callback.call(thisObject, array[i], i, array); }
  152. }
  153. }

  154. var st = new SlideTrans("idContainer2", "idSlider2", 5, { Vertical: false });

  155. var nums = [];
  156. //插入数字
  157. for(var i = 0, n = st._count - 1; i <= n;){
  158. (nums[i] = $("idNum").appendChild(document.createElement("li"))).innerHTML = ++i;
  159. }

  160. forEach(nums, function(o, i){
  161. o.onmouseover = function(){ o.className = "on"; st.Auto = false; st.Run(i); }
  162. o.onmouseout = function(){ o.className = ""; st.Auto = true; st.Run(); }
  163. })

  164. //设置按钮样式
  165. st.**tart = function(){
  166. forEach(nums, function(o, i){ o.className = st.Index == i ? "on" : ""; })
  167. }
  168. st.Run();
  169. </SCRIPT>
复制代码

如果有主界面改好后的图就更好了。




???什么图,跟演示的一摸一样呀

顶一下。。。。。。。。。。。

很实用。。。

回头试一下 应该不错的

支持一下

一般不上论坛 有要共同进步的加QQ吧599207801
大菜鸟 互相学习

支持一下