免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1383 | 回复: 0
打印 上一主题 下一主题

js实现淘宝首页图片轮播效果(转载) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-20 09:48 |只看该作者 |倒序浏览
HTML源码
  1. <div id="slider">
  2.     <ol class="player">
  3.         <li><a href=""><img src="images/1.gif" alt="1" /></a></li>
  4.         <li><a href=""><img src="images/2.jpg" alt="2" /></a></li>
  5.         <li><a href=""><img src="images/3.jpg" alt="3" /></a></li>
  6.         <li><a href=""><img src="images/4.jpg" alt="4" /></a></li>
  7.         <li><a href=""><img src="images/5.jpg" alt="5" /></a></li>
  8.     </ol>
  9.     <ol class="btns">
  10.         <li>1</li>
  11.         <li>2</li>
  12.         <li>3</li>
  13.         <li>4</li>
  14.         <li>5</li>
  15.     </ol>
  16. </div>
以下是js部分
  1. function Player(btns, scrollContent, imgHeight, timeout, hoverClass) {
  2. /*
  3.  * btns:按钮,类型是数组
  4.  * scrollContent:摇滚动的块,一个DOM对象,这里是ol
  5.  * imgHeight:每一张图片的高度,当然,如果想改成左右滚动,这里传入每一张图片的宽,唯一需要注意的是每一张图片宽高必须相同,图片数量可调整
  6.  * timeout:切换速度快慢,默认为1.5ms
  7.  * hoverClass:每一个按钮激活时的类名
  8. */
  9.     hoverClass = hoverClass || 'active';
  10.     timeout = timeout || 1500;
  11.     this.btns = btns;
  12.     this.scrollContent = scrollContent;
  13.     this.hoverClass = hoverClass;
  14.     this.timeout = timeout;
  15.     this.imgHeight = imgHeight;

  16.     var _this = this;
  17.     for(var i=0; i<btns.length; i++) {
  18.         this.btns[i].index = i;
  19.         btns[i].onmouseover = function() {
  20.             _this.stop();
  21.             _this.invoke(this.index);
  22.         }
  23.         btns[i].onmouseout = function() {
  24.             _this.start();
  25.         }
  26.     }
  27.     this.invoke(0);
  28.     this.isForward = true;
  29.     this.pointer = 0;
  30. }

  31. Player.prototype = {
  32.     constructor : Player,
  33.     start : function() {
  34.         var _this = this;
  35.         this.stop();
  36.         this.intervalId = setInterval(function() {
  37.             _this.next();
  38.         }, this.timeout);
  39.     },
  40.     stop: function() {
  41.         clearInterval(this.intervalId);
  42.     },
  43.     invoke: function(n) {
  44.         this.invoked = n || 0;
  45.         this.clearHover();
  46.         this.btns[this.invoked].className = this.hoverClass;
  47.         //this.scrollContent.style.top = parseInt(-this.imgHeight * this.pointer) + 'px';
  48.         var startVal = parseInt(this.scrollContent.style.top) || 0;
  49.         var alterVal = (parseInt(-startVal - this.imgHeight * this.invoked));
  50.         this.animateIterval && this.animateIterval();//修正快速切换时闪动
  51.         this.animateIterval=animate(this.scrollContent, {top : startVal},{top : alterVal}, 1000, Tween.Quad.easeOut);
  52.         //这里默认设置每张图滚动的总时间是1s
  53.     },
  54.     next: function() {
  55.         if(this.pointer == 0) {
  56.             this.isForward = true;
  57.         }
  58.         if(this.pointer >= this.btns.length) {
  59.             this.isForward = false;
  60.         }
  61.         if(this.isForward) {
  62.             this.invoke(this.pointer++);
  63.         } else {
  64.             this.invoke(--this.pointer);
  65.         }
  66.     },
  67.     clearHover: function() {
  68.         for(var i=0; i<this.btns.length; i++) {
  69.             this.btns[i].className = '';
  70.         };
  71.     }
  72. }

  73. window.onload = function() {
  74.     var btns = getByClass('btns', $('slider'))[0].getElementsByTagName('li');
  75.     var player = getByClass('player', $('slider'))[0];
  76.     var player = new Player(btns, player, 170, 1500, undefined);
  77.     player.start();
  78.     //player.invoke(2);
  79. }
basic.js
  1. /*
  2. *-------------------------获取DOM节点方法---------------------
  3. */

  4. function $(id) {
  5.     return document.getElementById(id);
  6. };

  7. function getByClass(className, context) {
  8. /*
  9.  * 功能说明:
  10.  * 传入类名、节点名(默认document),获取context下类名为classNa的节点
  11.  */
  12.     context = context || document;
  13.     if(context.getElementsByClassName) {
  14.         return context.getElementsByClassName(className);
  15.     } else {
  16.         var nodes = [];
  17.         var tags = context.getElementsByTagName('*');
  18.         for(var i=0, len=tags.length; i<len; i++) {
  19.             if(hasClass(tags[i], className)) {
  20.                 nodes.push(tags[i]);
  21.             }
  22.         }
  23.         return nodes;
  24.     }
  25. }

  26. function hasClass(node, className) {
  27. /*
  28.  * 功能说明:
  29.  * 传入节点及一个类名,检查该节点是否含有传入的类名
  30.  */
  31.     var names = node.className.split(/\s+/);
  32.     for(var i=0, len=names.length; i<len; i++) {
  33.         if(names[i] == className) {
  34.             return true;
  35.         }
  36.     }
  37.     return false;
  38. }

  39. /*function firstChild(node) {//获取node节点的第一个元素节点
  40.     if(node.firstChild) {
  41.         if(node.firstChild.nodeType == 1) {
  42.             return node.firstChild;
  43.         } else {
  44.             var first = node.firstChild;
  45.             while(first = first.nextSibling) {
  46.                 if(first.nodeType == 1) {
  47.                     return first;
  48.                 };
  49.             };
  50.             return null;
  51.         }
  52.     } else {
  53.         return null;
  54.     }
  55. }*/

  56. function getChildNode(superNode, index) {
  57. /*
  58.  * 功能说明:
  59.  * 传入父元素节点,按照index顺序查找子节点,从1开始(注意:只针对元素节点)
  60.  * 如果不传入index或index是0,则返回所有子节点
  61.  */
  62.     if(!superNode.childNodes) return;
  63.     //if (typeof index !== 'number') { alert('请输入数字索引'); return; }
  64.     index = Number(index) || 0;
  65.     var subNodes = [];
  66.     var result = null;
  67.     
  68.     for(var i=0, len=superNode.childNodes.length; i<len; i++) {//得到所有子元素节点
  69.         var node = superNode.childNodes[i];
  70.         if(node.nodeType == 1) {
  71.             subNodes.push(node);
  72.         } else {
  73.             continue;
  74.         }
  75.     }
  76.     
  77.     if(index === 0) {
  78.         result = subNodes;
  79.     } else {
  80.         for(var i= 0; i<subNodes.length; i++) {
  81.             subNodes[i].flag = i + 1;
  82.             if(subNodes[i].flag == index) {
  83.                 result = subNodes[i];
  84.                 break;
  85.             };
  86.         }
  87.     }
  88.     
  89.     return result? result : alert('你输入的索引值对应的子节点不存在!');
  90. }

  91. /*
  92. *---------------------动画函数---------------------------
  93. */

  94. function animate(o,start,alter,dur,fx) {
  95. /*
  96.  * 功能说明:
  97.  * 设置动画
  98.  * o:要设置动画的对象
  99.  * start:开始的对象
  100.  * alter:总的对象
  101.  * dur:动画持续多长时间
  102.  * fx:动画类型
  103.  */
  104.     var curTime=0;
  105.     var t=setInterval(function () {
  106.         if (curTime>=dur) clearInterval(t);
  107.         for (var i in start) {
  108.             o.style[i]=fx(start[i],alter[i],curTime,dur)+"px";
  109.         }
  110.         curTime+=40;
  111.         
  112.     },40);
  113.     return function () {
  114.         clearInterval(t);
  115.     };
  116. }

  117. function opacityAnimate(obj, start, alter, dur, fx) {
  118. /*
  119.  * 功能说明:
  120.  * 设置对象的透明动画,start为动画起点,alter为动画终点,dur为总变化时间,
  121.  * fx为动画类型,Linear表示匀速、Quad表示变速
  122.  */
  123.     var curTime = 0;

  124.     var intervalId = setInterval(function() {
  125.         if(curTime >= dur) {
  126.             clearInterval(intervalId);
  127.         }
  128.         setOpacity(obj, fx(start, alter, curTime, dur));
  129.         curTime += 50;
  130.     }, 50);
  131. }

  132. var setOpacity = (document.documentElement.filters) ? function(obj, val) {
  133. /*
  134.  * 功能说明:
  135.  * 设置掺入对象obj的opicity透明度为指定值val
  136.  */
  137.     obj.style.filter = "filter: alpha(opacity=" + val + ")";
  138. } : function(obj, val) {
  139.     obj.style.opacity = val/100;
  140. }

  141. var Tween = {
  142. /*
  143.  * 功能说明:
  144.  * 加速运动
  145.  * curTime:当前时间,即动画已经进行了多长时间,开始时间为0
  146.  * start:开始值
  147.  * alter:总的变化量
  148.  * dur:动画持续多长时间
  149.  */
  150.     Linear:function (start,alter,curTime,dur) {return start+curTime/dur*alter;},//最简单的线性变化,即匀速运动
  151.     Quad:{//二次方缓动
  152.         easeIn:function (start,alter,curTime,dur) {
  153.             return start+Math.pow(curTime/dur,2)*alter;
  154.         },
  155.         easeOut:function (start,alter,curTime,dur) {
  156.             var progress =curTime/dur;
  157.             return start-(Math.pow(progress,2)-2*progress)*alter;
  158.         },
  159.         easeInOut:function (start,alter,curTime,dur) {
  160.             var progress =curTime/dur*2;
  161.             return (progress<1?Math.pow(progress,2):-((--progress)*(progress-2) - 1))*alter/2+start;
  162.         }
  163.     },
  164.     Cubic:{//三次方缓动
  165.         easeIn:function (start,alter,curTime,dur) {
  166.             return start+Math.pow(curTime/dur,3)*alter;
  167.         },
  168.         easeOut:function (start,alter,curTime,dur) {
  169.             var progress =curTime/dur;
  170.             return start-(Math.pow(progress,3)-Math.pow(progress,2)+1)*alter;
  171.         },
  172.         easeInOut:function (start,alter,curTime,dur) {
  173.             var progress =curTime/dur*2;
  174.             return (progress<1?Math.pow(progress,3):((progress-=2)*Math.pow(progress,2) + 2))*alter/2+start;
  175.         }
  176.     },
  177.     Quart:{//四次方缓动
  178.         easeIn:function (start,alter,curTime,dur) {
  179.             return start+Math.pow(curTime/dur,4)*alter;
  180.         },
  181.         easeOut:function (start,alter,curTime,dur) {
  182.             var progress =curTime/dur;
  183.             return start-(Math.pow(progress,4)-Math.pow(progress,3)-1)*alter;
  184.         },
  185.         easeInOut:function (start,alter,curTime,dur) {
  186.             var progress =curTime/dur*2;
  187.             return (progress<1?Math.pow(progress,4):-((progress-=2)*Math.pow(progress,3) - 2))*alter/2+start;
  188.         }
  189.     },
  190.     Quint:{//五次方缓动
  191.         easeIn:function (start,alter,curTime,dur) {
  192.             return start+Math.pow(curTime/dur,5)*alter;
  193.         },
  194.         easeOut:function (start,alter,curTime,dur) {
  195.             var progress =curTime/dur;
  196.             return start-(Math.pow(progress,5)-Math.pow(progress,4)+1)*alter;
  197.         },
  198.         easeInOut:function (start,alter,curTime,dur) {
  199.             var progress =curTime/dur*2;
  200.             return (progress<1?Math.pow(progress,5):((progress-=2)*Math.pow(progress,4) +2))*alter/2+start;
  201.         }
  202.     },
  203.     Sine :{//正弦曲线缓动
  204.         easeIn:function (start,alter,curTime,dur) {
  205.             return start-(Math.cos(curTime/dur*Math.PI/2)-1)*alter;
  206.         },
  207.         easeOut:function (start,alter,curTime,dur) {
  208.             return start+Math.sin(curTime/dur*Math.PI/2)*alter;
  209.         },
  210.         easeInOut:function (start,alter,curTime,dur) {
  211.             return start-(Math.cos(curTime/dur*Math.PI/2)-1)*alter/2;
  212.         }
  213.     },
  214.     Expo: {//指数曲线缓动
  215.         easeIn:function (start,alter,curTime,dur) {
  216.             return curTime?(start+alter*Math.pow(2,10*(curTime/dur-1))):start;
  217.         },
  218.         easeOut:function (start,alter,curTime,dur) {
  219.             return (curTime==dur)?(start+alter):(start-(Math.pow(2,-10*curTime/dur)+1)*alter);
  220.         },
  221.         easeInOut:function (start,alter,curTime,dur) {
  222.             if (!curTime) {return start;}
  223.             if (curTime==dur) {return start+alter;}
  224.             var progress =curTime/dur*2;
  225.             if (progress < 1) {
  226.                 return alter/2*Math.pow(2,10* (progress-1))+start;
  227.             } else {
  228.                 return alter/2* (-Math.pow(2, -10*--progress) + 2) +start;
  229.             }
  230.         }
  231.     },
  232.     Circ :{//圆形曲线缓动
  233.         easeIn:function (start,alter,curTime,dur) {
  234.             return start-alter*Math.sqrt(-Math.pow(curTime/dur,2));
  235.         },
  236.         easeOut:function (start,alter,curTime,dur) {
  237.             return start+alter*Math.sqrt(1-Math.pow(curTime/dur-1));
  238.         },
  239.         easeInOut:function (start,alter,curTime,dur) {
  240.             var progress =curTime/dur*2;
  241.             return (progress<1?1-Math.sqrt(1-Math.pow(progress,2)):(Math.sqrt(1 - Math.pow(progress-2,2)) + 1))*alter/2+start;
  242.         }
  243.     },
  244.     Elastic: {//指数衰减的正弦曲线缓动
  245.         easeIn:function (start,alter,curTime,dur,extent,cycle) {
  246.             if (!curTime) {return start;}
  247.             if ((curTime==dur)==1) {return start+alter;}
  248.             if (!cycle) {cycle=dur*0.3;}
  249.             var s;
  250.             if (!extent || extent< Math.abs(alter)) {
  251.                 extent=alter;
  252.                 s = cycle/4;
  253.             } else {s=cycle/(Math.PI*2)*Math.asin(alter/extent);}
  254.             return start-extent*Math.pow(2,10*(curTime/dur-1)) * Math.sin((curTime-dur-s)*(2*Math.PI)/cycle);
  255.         },
  256.         easeOut:function (start,alter,curTime,dur,extent,cycle) {
  257.             if (!curTime) {return start;}
  258.             if (curTime==dur) {return start+alter;}
  259.             if (!cycle) {cycle=dur*0.3;}
  260.             var s;
  261.             if (!extent || extent< Math.abs(alter)) {
  262.                 extent=alter;
  263.                 s =cycle/4;
  264.             } else {s=cycle/(Math.PI*2)*Math.asin(alter/extent);}
  265.             return start+alter+extent*Math.pow(2,-curTime/dur*10)*Math.sin((curTime-s)*(2*Math.PI)/cycle);
  266.         },
  267.         easeInOut:function (start,alter,curTime,dur,extent,cycle) {
  268.             if (!curTime) {return start;}
  269.             if (curTime==dur) {return start+alter;}
  270.             if (!cycle) {cycle=dur*0.45;}
  271.             var s;
  272.             if (!extent || extent< Math.abs(alter)) {
  273.                 extent=alter;
  274.                 s =cycle/4;
  275.             } else {s=cycle/(Math.PI*2)*Math.asin(alter/extent);}
  276.             var progress = curTime/dur*2;
  277.             if (progress<1) {
  278.                 return start-0.5*extent*Math.pow(2,10*(progress-=1))*Math.sin( (progress*dur-s)*(2*Math.PI)/cycle);
  279.             } else {
  280.                 return start+alter+0.5*extent*Math.pow(2,-10*(progress-=1)) * Math.sin( (progress*dur-s)*(2*Math.PI)/cycle);
  281.             }
  282.         }
  283.     },
  284.     Back:{
  285.         easeIn: function (start,alter,curTime,dur,s){
  286.             if (typeof s == "undefined") {s = 1.70158;}
  287.             return start+alter*(curTime/=dur)*curTime*((s+1)*curTime - s);
  288.         },
  289.         easeOut: function (start,alter,curTime,dur,s) {
  290.             if (typeof s == "undefined") {s = 1.70158;}
  291.             return start+alter*((curTime=curTime/dur-1)*curTime*((s+1)*curTime + s) + 1);
  292.         },
  293.         easeInOut: function (start,alter,curTime,dur,s){
  294.             if (typeof s == "undefined") {s = 1.70158;}
  295.             if ((curTime/=dur/2) < 1) {
  296.                 return start+alter/2*(Math.pow(curTime,2)*(((s*=(1.525))+1)*curTime- s));
  297.             }
  298.             return start+alter/2*((curTime-=2)*curTime*(((s*=(1.525))+1)*curTime+ s)+2);
  299.         }
  300.     },
  301.     Bounce:{
  302.         easeIn: function(start,alter,curTime,dur){
  303.             return start+alter-Tween.Bounce.easeOut(0,alter,dur-curTime,dur);
  304.         },
  305.         easeOut: function(start,alter,curTime,dur){
  306.             if ((curTime/=dur) < (1/2.75)) {
  307.                 return alter*(7.5625*Math.pow(curTime,2))+start;
  308.             } else if (curTime < (2/2.75)) {
  309.                 return alter*(7.5625*(curTime-=(1.5/2.75))*curTime + .75)+start;
  310.             } else if (curTime< (2.5/2.75)) {
  311.                 return alter*(7.5625*(curTime-=(2.25/2.75))*curTime + .9375)+start;
  312.             } else {
  313.                 return alter*(7.5625*(curTime-=(2.625/2.75))*curTime + .984375)+start;
  314.             }
  315.         },
  316.         easeInOut: function (start,alter,curTime,dur){
  317.             if (curTime< dur/2) {
  318.                 return Tween.Bounce.easeIn(0,alter,curTime*2,dur) *0.5+start;
  319.             } else {
  320.                 return Tween.Bounce.easeOut(0,alter,curTime*2-dur,dur) *0.5 + alter*0.5 +start;
  321.             }
  322.         }
  323.     }
  324. };
HTML
  1. <!DOCTYPE HTML>
  2. <html><head>
  3. <meta http-equiv="content-type" content="text/html; charset=UTF-8">


  4. <meta charset="utf-8">
  5. <title>淘宝首页图片轮播效果</title>
  6. <style>
  7. <!--
  8. * {margin: 0;padding:0;}
  9. body {background: #222;}
  10. ol {list-style: none;}
  11. img {border: 0 none;}
  12. #slider {
  13.     border: 1px solid #F60;
  14.     width: 490px;
  15.     height: 170px;
  16.     overflow: hidden;
  17.     position: relative;
  18.     margin: 2em auto;
  19. }
  20. #slider .player {
  21.     /*width: 2450px;
  22.     height: 850px;*/
  23.     position: absolute;
  24.     top: 0px;
  25.     left: 0px;
  26. }
  27. #slider .player li {
  28.     width: 490px;
  29.     height: 170px;
  30. }
  31. #slider .btns {
  32.     position: absolute;
  33.     right: 10px;
  34.     bottom: 5px;
  35.     height: 30px;
  36. }
  37. #slider .btns li {
  38.     font: 13px Tahoma, Arial, 宋体, sans-serif;
  39.     float: left;
  40.     margin: 0 3px;
  41.     border: 1px solid #F60;
  42.     background-color: #FFF;
  43.     color: #CC937A;
  44.     opacity: .8;
  45.     cursor: pointer;
  46.     width: 20px;
  47.     height: 20px;
  48.     line-height: 19px;
  49.     text-align: center;
  50.     -moz-border-radius: 10px;
  51.     -webkit-border-radius: 10px;
  52.     border-radius: 10px;
  53. }
  54. #slider .btns li.active {
  55.     background: #F60;
  56.     color: #FFF;
  57.     font-weight: bold;
  58.     opacity: 1;
  59. }
  60. -->
  61. </style>
  62. <script type="text/javascript" src="demo_files/basic.js"></script>
  63. <script>
  64. //<![CDATA[
  65. function Player(btns, scrollContent, imgHeight, timeout, hoverClass) {
  66. /*
  67.  * btns:按钮,类型是数组
  68.  * scrollContent:摇滚动的块,一个DOM对象,这里是ol
  69.  * imgHeight:每一张图片的高度,当然,如果想改成左右滚动,这里传入每一张图片的宽,唯一需要注意的是每一张图片宽高必须相同,图片数量可调整
  70.  * timeout:切换速度快慢,默认为1.5ms
  71.  * hoverClass:每一个按钮激活时的类名
  72. */
  73.     hoverClass = hoverClass || 'active';
  74.     timeout = timeout || 1500;
  75.     this.btns = btns;
  76.     this.scrollContent = scrollContent;
  77.     this.hoverClass = hoverClass;
  78.     this.timeout = timeout;
  79.     this.imgHeight = imgHeight;

  80.     var _this = this;
  81.     for(var i=0; i<btns.length; i++) {
  82.         this.btns[i].index = i;
  83.         btns[i].onmouseover = function() {
  84.             _this.stop();
  85.             _this.invoke(this.index);
  86.         }
  87.         btns[i].onmouseout = function() {
  88.             _this.start();
  89.         }
  90.     }
  91.     this.invoke(0);
  92.     this.isForward = true;
  93.     this.pointer = 0;
  94. }

  95. Player.prototype = {
  96.     constructor : Player,
  97.     start : function() {
  98.         var _this = this;
  99.         this.stop();
  100.         this.intervalId = setInterval(function() {
  101.             _this.next();
  102.         }, this.timeout);
  103.     },
  104.     stop: function() {
  105.         clearInterval(this.intervalId);
  106.     },
  107.     invoke: function(n) {
  108.         this.invoked = n || 0;
  109.         this.clearHover();
  110.         this.btns[this.invoked].className = this.hoverClass;
  111.         //this.scrollContent.style.top = parseInt(-this.imgHeight * this.pointer) + 'px';
  112.         var startVal = parseInt(this.scrollContent.style.top) || 0;
  113.         var alterVal = (parseInt(-startVal - this.imgHeight * this.invoked));
  114.         this.animateIterval && this.animateIterval();//修正快速切换时闪动
  115.         this.animateIterval=animate(this.scrollContent, {top : startVal},{top : alterVal}, 1000, Tween.Quad.easeOut);
  116.         //这里默认设置每张图滚动的总时间是1s
  117.     },
  118.     next: function() {
  119.         if(this.pointer == 0) {
  120.             this.isForward = true;
  121.         }
  122.         if(this.pointer >= this.btns.length) {
  123.             this.isForward = false;
  124.         }
  125.         if(this.isForward) {
  126.             this.invoke(this.pointer++);
  127.         } else {
  128.             this.invoke(--this.pointer);
  129.         }
  130.     },
  131.     clearHover: function() {
  132.         for(var i=0; i<this.btns.length; i++) {
  133.             this.btns[i].className = '';
  134.         };
  135.     }
  136. }

  137. window.onload = function() {
  138.     var btns = getByClass('btns', $('slider'))[0].getElementsByTagName('li');
  139.     var player = getByClass('player', $('slider'))[0];
  140.     var player = new Player(btns, player, 170, 1500, undefined);
  141.     player.start();
  142.     //player.invoke(2);
  143. }
  144. //]]>
  145. </script>
  146. <style type="text/css" charset="utf-8">/* See license.txt for terms of usage */

  147. .firebugCanvas {

  148.     position:fixed;

  149.     top: 0;

  150.     left: 0;

  151.     display:none;

  152.     border: 0 none;

  153.     margin: 0;

  154.     padding: 0;

  155.     outline: 0;

  156. }



  157. .firebugCanvas:before, .firebugCanvas:after {

  158.     content: "";

  159. }



  160. .firebugHighlight {

  161.     z-index: 2147483646;

  162.     position: fixed;

  163.     background-color: #3875d7;

  164.     margin: 0;

  165.     padding: 0;

  166.     outline: 0;

  167.     border: 0 none;

  168. }



  169. .firebugHighlight:before, .firebugHighlight:after {

  170.     content: "";

  171. }



  172. .firebugLayoutBoxParent {

  173.     z-index: 2147483646;

  174.     position: fixed;

  175.     background-color: transparent;

  176.     border-top: 0 none;

  177.     border-right: 1px dashed #E00 !important;

  178.     border-bottom: 1px dashed #E00 !important;

  179.     border-left: 0 none;

  180.     margin: 0;

  181.     padding: 0;

  182.     outline: 0;

  183. }



  184. .firebugRuler {

  185.     position: absolute;

  186.     margin: 0;

  187.     padding: 0;

  188.     outline: 0;

  189.     border: 0 none;

  190. }



  191. .firebugRuler:before, .firebugRuler:after {

  192.     content: "";

  193. }



  194. .firebugRulerH {

  195.     top: -15px;

  196.     left: 0;

  197.     width: 100%;

  198.     height: 14px;

  199.     background: url("data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%13%88%00%00%00%0E%08%02%00%00%00L%25a%0A%00%00%00%04gAMA%00%00%D6%D8%D4OX2%00%00%00%19tEXtSoftware%00Adobe%20ImageReadyq%C9e%3C%00%00%04%F8IDATx%DA%EC%DD%D1n%E2%3A%00E%D1%80%F8%FF%EF%E2%AF2%95%D0D4%0E%C1%14%B0%8Fa-%E9%3E%CC%9C%87n%B9%81%A6W0%1C%A6i%9A%E7y%0As8%1CT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AATE9%FE%FCw%3E%9F%AF%2B%2F%BA%97%FDT%1D~K(%5C%9D%D5%EA%1B%5C%86%B5%A9%BDU%B5y%80%ED%AB*%03%FAV9%AB%E1%CEj%E7%82%EF%FB%18%BC%AEJ8%AB%FA'%D2%BEU9%D7U%ECc0%E1%A2r%5DynwVi%CFW%7F%BB%17%7Dy%EACU%CD%0E%F0%FA%3BX%FEbV%FEM%9B%2B%AD%BE%AA%E5%95v%AB%AA%E3E5%DCu%15rV9%07%B5%7F%B5w%FCm%BA%BE%AA%FBY%3D%14%F0%EE%C7%60%0EU%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5JU%88%D3%F5%1F%AE%DF%3B%1B%F2%3E%DAUCNa%F92%D02%AC%7Dm%F9%3A%D4%F2%8B6%AE*%BF%5C%C2Ym~9g5%D0Y%95%17%7C%C8c%B0%7C%18%26%9CU%CD%13i%F7%AA%90%B3Z%7D%95%B4%C7%60%E6E%B5%BC%05%B4%FBY%95U%9E%DB%FD%1C%FC%E0%9F%83%7F%BE%17%7DkjMU%E3%03%AC%7CWj%DF%83%9An%BCG%AE%F1%95%96yQ%0Dq%5Dy%00%3Et%B5'%FC6%5DS%95pV%95%01%81%FF'%07%00%00%00%00%00%00%00%00%00%F8x%C7%F0%BE%9COp%5D%C9%7C%AD%E7%E6%EBV%FB%1E%E0(%07%E5%AC%C6%3A%ABi%9C%8F%C6%0E9%AB%C0'%D2%8E%9F%F99%D0E%B5%99%14%F5%0D%CD%7F%24%C6%DEH%B8%E9rV%DFs%DB%D0%F7%00k%FE%1D%84%84%83J%B8%E3%BA%FB%EF%20%84%1C%D7%AD%B0%8E%D7U%C8Y%05%1E%D4t%EF%AD%95Q%BF8w%BF%E9%0A%BF%EB%03%00%00%00%00%00%00%00%00%00%B8vJ%8E%BB%F5%B1u%8Cx%80%E1o%5E%CA9%AB%CB%CB%8E%03%DF%1D%B7T%25%9C%D5(%EFJM8%AB%CC'%D2%B2*%A4s%E7c6%FB%3E%FA%A2%1E%80~%0E%3E%DA%10x%5D%95Uig%15u%15%ED%7C%14%B6%87%A1%3B%FCo8%A8%D8o%D3%ADO%01%EDx%83%1A~%1B%9FpP%A3%DC%C6'%9C%95gK%00%00%00%00%00%00%00%00%00%20%D9%C9%11%D0%C0%40%AF%3F%EE%EE%92%94%D6%16X%B5%BCMH%15%2F%BF%D4%A7%C87%F1%8E%F2%81%AE%AAvzr%DA2%ABV%17%7C%E63%83%E7I%DC%C6%0Bs%1B%EF6%1E%00%00%00%00%00%00%00%00%00%80cr%9CW%FF%7F%C6%01%0E%F1%CE%A5%84%B3%CA%BC%E0%CB%AA%84%CE%F9%BF)%EC%13%08WU%AE%AB%B1%AE%2BO%EC%8E%CBYe%FE%8CN%ABr%5Dy%60~%CFA%0D%F4%AE%D4%BE%C75%CA%EDVB%EA(%B7%F1%09g%E5%D9%12%00%00%00%00%00%00%00%00%00H%F6%EB%13S%E7y%5E%5E%FB%98%F0%22%D1%B2'%A7%F0%92%B1%BC%24z3%AC%7Dm%60%D5%92%B4%7CEUO%5E%F0%AA*%3BU%B9%AE%3E%A0j%94%07%A0%C7%A0%AB%FD%B5%3F%A0%F7%03T%3Dy%D7%F7%D6%D4%C0%AAU%D2%E6%DFt%3F%A8%CC%AA%F2%86%B9%D7%F5%1F%18%E6%01%F8%CC%D5%9E%F0%F3z%88%AA%90%EF%20%00%00%00%00%00%00%00%00%00%C0%A6%D3%EA%CFi%AFb%2C%7BB%0A%2B%C3%1A%D7%06V%D5%07%A8r%5D%3D%D9%A6%CAu%F5%25%CF%A2%99%97zNX%60%95%AB%5DUZ%D5%FBR%03%AB%1C%D4k%9F%3F%BB%5C%FF%81a%AE%AB'%7F%F3%EA%FE%F3z%94%AA%D8%DF%5B%01%00%00%00%00%00%00%00%00%00%8E%FB%F3%F2%B1%1B%8DWU%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*UiU%C7%BBe%E7%F3%B9%CB%AAJ%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5J%95*U%AAT%A9R%A5*%AAj%FD%C6%D4%5Eo%90%B5Z%ADV%AB%D5j%B5Z%ADV%AB%D5j%B5Z%ADV%AB%D5j%B5Z%ADV%AB%D5j%B5Z%ADV%AB%D5j%B5Z%ADV%AB%D5j%B5Z%ADV%AB%D5j%B5%86%AF%1B%9F%98%DA%EBm%BBV%AB%D5j%B5Z%ADV%AB%D5j%B5Z%ADV%AB%D5j%B5Z%ADV%AB%D5j%B5Z%ADV%AB%D5j%B5Z%ADV%AB%D5j%B5Z%ADV%AB%D5j%B5Z%AD%D6%E4%F58%01%00%00%00%00%00%00%00%00%00%00%00%00%00%40%85%7F%02%0C%008%C2%D0H%16j%8FX%00%00%00%00IEND%AEB%60%82") repeat-x;

  200.     border-top: 1px solid #BBBBBB;

  201.     border-right: 1px dashed #BBBBBB;

  202.     border-bottom: 1px solid #000000;

  203. }



  204. .firebugRulerV {

  205.     top: 0;

  206.     left: -15px;

  207.     width: 14px;

  208.     height: 100%;

  209.     background: url("data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%0E%00%00%13%88%08%02%00%00%00%0E%F5%CB%10%00%00%00%04gAMA%00%00%D6%D8%D4OX2%00%00%00%19tEXtSoftware%00Adobe%20ImageReadyq%C9e%3C%00%00%06~IDATx%DA%EC%DD%D1v%A20%14%40Qt%F1%FF%FF%E4%97%D9%07%3BT%19%92%DC%40(%90%EEy%9A5%CB%B6%E8%F6%9Ac%A4%CC0%84%FF%DC%9E%CF%E7%E3%F1%88%DE4%F8%5D%C7%9F%2F%BA%DD%5E%7FI%7D%F18%DDn%BA%C5%FB%DF%97%BFk%F2%10%FF%FD%B4%F2M%A7%FB%FD%FD%B3%22%07p%8F%3F%AE%E3%F4S%8A%8F%40%EEq%9D%BE8D%F0%0EY%A1Uq%B7%EA%1F%81%88V%E8X%3F%B4%CEy%B7h%D1%A2E%EBohU%FC%D9%AF2fO%8BBeD%BE%F7X%0C%97%A4%D6b7%2Ck%A5%12%E3%9B%60v%B7r%C7%1AI%8C%BD%2B%23r%00c0%B2v%9B%AD%CA%26%0C%1Ek%05A%FD%93%D0%2B%A1u%8B%16-%95q%5Ce%DCSO%8E%E4M%23%8B%F7%C2%FE%40%BB%BD%8C%FC%8A%B5V%EBu%40%F9%3B%A72%FA%AE%8C%D4%01%CC%B5%DA%13%9CB%AB%E2I%18%24%B0n%A9%0CZ*Ce%9C%A22%8E%D8NJ%1E%EB%FF%8F%AE%CAP%19*%C3%BAEKe%AC%D1%AAX%8C*%DEH%8F%C5W%A1e%AD%D4%B7%5C%5B%19%C5%DB%0D%EF%9F%19%1D%7B%5E%86%BD%0C%95%A12%AC%5B*%83%96%CAP%19%F62T%86%CAP%19*%83%96%CA%B8Xe%BC%FE)T%19%A1%17xg%7F%DA%CBP%19*%C3%BA%A52T%86%CAP%19%F62T%86%CA%B0n%A9%0CZ%1DV%C6%3D%F3%FCH%DE%B4%B8~%7F%5CZc%F1%D6%1F%AF%84%F9%0F6%E6%EBVt9%0E~%BEr%AF%23%B0%97%A12T%86%CAP%19%B4T%86%CA%B8Re%D8%CBP%19*%C3%BA%A52huX%19%AE%CA%E5%BC%0C%7B%19*CeX%B7h%A9%0C%95%E1%BC%0C%7B%19*CeX%B7T%06%AD%CB%5E%95%2B%BF.%8F%C5%97%D5%E4%7B%EE%82%D6%FB%CF-%9C%FD%B9%CF%3By%7B%19%F62T%86%CA%B0n%D1R%19*%A3%D3%CA%B0%97%A12T%86uKe%D0%EA%B02*%3F1%99%5DB%2B%A4%B5%F8%3A%7C%BA%2B%8Co%7D%5C%EDe%A8%0C%95a%DDR%19%B4T%C66%82fA%B2%ED%DA%9FC%FC%17GZ%06%C9%E1%B3%E5%2C%1A%9FoiB%EB%96%CA%A0%D5qe4%7B%7D%FD%85%F7%5B%ED_%E0s%07%F0k%951%ECr%0D%B5C%D7-g%D1%A8%0C%EB%96%CA%A0%A52T%C6)*%C3%5E%86%CAP%19%D6-%95A%EB*%95q%F8%BB%E3%F9%AB%F6%E21%ACZ%B7%22%B7%9B%3F%02%85%CB%A2%5B%B7%BA%5E%B7%9C%97%E1%BC%0C%EB%16-%95%A12z%AC%0C%BFc%A22T%86uKe%D0%EA%B02V%DD%AD%8A%2B%8CWhe%5E%AF%CF%F5%3B%26%CE%CBh%5C%19%CE%CB%B0%F3%A4%095%A1%CAP%19*Ce%A8%0C%3BO*Ce%A8%0C%95%A12%3A%AD%8C%0A%82%7B%F0v%1F%2FD%A9%5B%9F%EE%EA%26%AF%03%CA%DF9%7B%19*Ce%A8%0C%95%A12T%86%CA%B8Ze%D8%CBP%19*Ce%A8%0C%95%D1ae%EC%F7%89I%E1%B4%D7M%D7P%8BjU%5C%BB%3E%F2%20%D8%CBP%19*Ce%A8%0C%95%A12T%C6%D5*%C3%5E%86%CAP%19*Ce%B4O%07%7B%F0W%7Bw%1C%7C%1A%8C%B3%3B%D1%EE%AA%5C%D6-%EBV%83%80%5E%D0%CA%10%5CU%2BD%E07YU%86%CAP%19*%E3%9A%95%91%D9%A0%C8%AD%5B%EDv%9E%82%FFKOee%E4%8FUe%A8%0C%95%A12T%C6%1F%A9%8C%C8%3D%5B%A5%15%FD%14%22r%E7B%9F%17l%F8%BF%ED%EAf%2B%7F%CF%ECe%D8%CBP%19*Ce%A8%0C%95%E1%93~%7B%19%F62T%86%CAP%19*Ce%A8%0C%E7%13%DA%CBP%19*Ce%A8%0CZf%8B%16-Z%B4h%D1R%19f%8B%16-Z%B4h%D1R%19%B4%CC%16-Z%B4h%D1R%19%B4%CC%16-Z%B4h%D1%A2%A52%CC%16-Z%B4h%D1%A2%A52h%99-Z%B4h%D1%A2%A52h%99-Z%B4h%D1%A2EKe%98-Z%B4h%D1%A2EKe%D02%5B%B4h%D1%A2EKe%D02%5B%B4h%D1%A2E%8B%96%CA0%5B%B4h%D1%A2E%8B%96%CA%A0e%B6h%D1%A2E%8B%96%CA%A0e%B6h%D1%A2E%8B%16-%95a%B6h%D1%A2E%8B%16-%95A%CBl%D1%A2E%8B%16-%95A%CBl%D1%A2E%8B%16-Z*%C3l%D1%A2E%8B%16-Z*%83%96%D9%A2E%8B%16-Z*%83%96%D9%A2E%8B%16-Z%B4T%86%D9%A2E%8B%16-Z%B4T%06-%B3E%8B%16-Z%B4T%06-%B3E%8B%16-Z%B4h%A9%0C%B3E%8B%16-Z%B4h%A9%0CZf%8B%16-Z%B4h%A9%0CZf%8B%16-Z%B4h%D1R%19f%8B%16-Z%B4h%D1R%19%B4%CC%16-Z%B4h%D1R%19%B4%CC%16-Z%B4h%D1%A2%A52%CC%16-Z%B4h%D1%A2%A52h%99-Z%B4h%D1%A2%A52h%99-Z%B4h%D1%A2EKe%98-Z%B4h%D1%A2EKe%D02%5B%B4h%D1%A2EKe%D02%5B%B4h%D1%A2E%8B%96%CA0%5B%B4h%D1%A2E%8B%96%CA%A0e%B6h%D1%A2E%8B%96%CA%A0e%B6h%D1%A2E%8B%16-%95a%B6h%D1%A2E%8B%16-%95A%CBl%D1%A2E%8B%16-%95A%CBl%D1%A2E%8B%16-Z*%C3l%D1%A2E%8B%16-Z*%83%96%D9%A2E%8B%16-Z*%83%96%D9%A2E%8B%16-Z%B4T%86%D9%A2E%8B%16-Z%B4T%06-%B3E%8B%16-Z%B4T%06-%B3E%8B%16-Z%B4h%A9%0C%B3E%8B%16-Z%B4h%A9%0CZf%8B%16-Z%B4h%A9%0CZf%8B%16-Z%B4h%D1R%19f%8B%16-Z%B4h%D1R%19%B4%CC%16-Z%B4h%D1R%19%B4%CC%16-Z%B4h%D1%A2%A52%CC%16-Z%B4h%D1%A2%A52h%99-Z%B4h%D1%A2%A52h%99-Z%B4h%D1%A2EKe%98-Z%B4h%D1%A2EKe%D02%5B%B4h%D1%A2EKe%D02%5B%B4h%D1%A2E%8B%96%CA0%5B%B4h%D1%A2E%8B%96%CA%A0e%B6h%D1%A2E%8B%96%CA%A0e%B6h%D1%A2E%8B%16-%95a%B6h%D1%A2E%8B%16-%95A%CBl%D1%A2E%8B%16-%95A%CBl%D1%A2E%8B%16-Z*%C3l%D1%A2E%8B%16-Z*%83%96%D9%A2E%8B%16-Z*%83%96%D9%A2E%8B%16-Z%B4T%86%D9%A2E%8B%16-Z%B4T%06-%B3E%8B%16-Z%B4%AE%A4%F5%25%C0%00%DE%BF%5C'%0F%DA%B8q%00%00%00%00IEND%AEB%60%82") repeat-y;

  210.     border-left: 1px solid #BBBBBB;

  211.     border-right: 1px solid #000000;

  212.     border-bottom: 1px dashed #BBBBBB;

  213. }



  214. .overflowRulerX > .firebugRulerV {

  215.     left: 0;

  216. }



  217. .overflowRulerY > .firebugRulerH {

  218.     top: 0;

  219. }



  220. /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

  221. .firebugLayoutBox {

  222.     margin: 0;

  223.     padding: 0;

  224.     border: 0 none;

  225.     outline: 0;

  226. }



  227. .firebugLayoutBox:before, .firebugLayoutBox:after {

  228.     content: "";

  229. }



  230. .firebugLayoutBoxOffset {

  231.     z-index: 2147483646;

  232.     position: fixed;

  233.     opacity: 0.8;

  234. }



  235. .firebugLayoutBoxMargin {

  236.     background-color: #EDFF64;

  237. }



  238. .firebugLayoutBoxBorder {

  239.     background-color: #666666;

  240. }



  241. .firebugLayoutBoxPadding {

  242.     background-color: SlateBlue;

  243. }



  244. .firebugLayoutBoxContent {

  245.     background-color: SkyBlue;

  246. }



  247. .firebugLayoutLine {

  248.     z-index: 2147483646;

  249.     background-color: #000000;

  250.     opacity: 0.4;

  251.     margin: 0;

  252.     padding: 0;

  253.     outline: 0;

  254.     border: 0 none;

  255. }



  256. .firebugLayoutLine:before, .firebugLayoutLine:after {

  257.     content: "";

  258. }



  259. .firebugLayoutLineLeft, .firebugLayoutLineRight {

  260.     position: fixed;

  261.     width: 1px;

  262.     height: 100%;

  263. }



  264. .firebugLayoutLineTop, .firebugLayoutLineBottom {

  265.     position: fixed;

  266.     width: 100%;

  267.     height: 1px;

  268. }



  269. .firebugLayoutLineTop {

  270.     margin-top: -1px;

  271.     border-top: 1px solid #999999;

  272. }



  273. .firebugLayoutLineRight {

  274.     border-right: 1px solid #999999;

  275. }



  276. .firebugLayoutLineBottom {

  277.     border-bottom: 1px solid #999999;

  278. }



  279. .firebugLayoutLineLeft {

  280.     margin-left: -1px;

  281.     border-left: 1px solid #999999;

  282. }



  283. .fbProxyElement {

  284.     position: absolute;

  285.     background-color: transparent;

  286.     z-index: 2147483646;

  287.     margin: 0;

  288.     padding: 0;

  289.     outline: 0;

  290.     border: 0 none;

  291. }

  292. </style></head><body>
  293. <div id="slider">
  294.     <ol style="top: -312.8px;" class="player">
  295.         <li><a href=""><img src="demo_files/1.gif" alt="1"></a></li>
  296.         <li><a href=""><img src="demo_files/2.jpg" alt="2"></a></li>
  297.         <li><a href=""><img src="demo_files/3.jpg" alt="3"></a></li>
  298.         <li><a href=""><img src="demo_files/4.jpg" alt="4"></a></li>
  299.         <li><a href=""><img src="demo_files/5.jpg" alt="5"></a></li>
  300.     </ol>
  301.     <ol class="btns">
  302.         <li class="">1</li>
  303.         <li class="">2</li>
  304.         <li class="active">3</li>
  305.         <li class="">4</li>
  306.         <li class="">5</li>
  307.     </ol>
  308. </div>
  309. </body></html>


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP