无缝滚动demo

无缝滚动demo
  1 <!DOCTYPE html>
  2 <html>
  3     <head>
  4         <meta charset="utf-8">
  5         <title>HTML</title>
  6         <style>
  7             * {
  8                 padding: 0;
  9                 margin: 0;
 10             }
 11             #scrollWrapper {
 12                 width: 400px;
 13                 height: 100px;
 14                 background-color: #f00;
 15                 position: relative;
 16                 margin: 150px auto 40px;
 17                 background-color: #f00;
 18                 overflow: hidden;
 19             }
 20             ul {
 21                 width: 800px;
 22                 list-style: none;
 23                 position: absolute;
 24                 left: 0;
 25                 top: 0;
 26             }
 27             li {
 28                 float: left;
 29                 width: 100px;
 30                 height: 100px;
 31                 text-align: center;
 32                 line-height: 100px;
 33             }
 34             .li_1 {
 35                 background-color: #00f
 36             }
 37             .li_2 {
 38                 background-color: #0f0
 39             }
 40             .li_3 {
 41                 background-color: #666
 42             }
 43             .li_4 {
 44                 background-color: #aaa
 45             }
 46             #btnWrapper {
 47                 margin: 0 auto;
 48                 width: 150px;
 49             }
 50             .btn {
 51                 border: 1px solid #f00;
 52                 width: 60px;
 53                 float: left;
 54                 text-align: center;
 55             }
 56             #toRight {
 57                 float: right;
 58             }
 59         </style>
 60     </head>
 61 
 62     <body>
 63         <div id="scrollWrapper">
 64             <ul>
 65                 <li class="li_1">
 66                     1
 67                 </li>
 68                 <li class="li_2">
 69                     2
 70                 </li>
 71                 <li class="li_3">
 72                     3
 73                 </li>
 74                 <li class="li_4">
 75                     4
 76                 </li>
 77             </ul>
 78         </div>
 79         <div id="btnWrapper">
 80             <div id="toLeft" class="btn">
 81                 向左
 82             </div>
 83             <div id="toRight" class="btn">
 84                 向右
 85             </div>
 86             <div style="clear:both;"></div>
 87         </div>
 88         <script>
 89             var oDiv = document.getElementById("scrollWrapper");
 90             var oUL = document.getElementsByTagName("ul")[0];
 91             var toRight = document.getElementById("toRight");
 92             var toLeft = document.getElementById("toLeft");
 93             var speed = 0;
 94             var timer = null;
 95             oUL.innerHTML += oUL.innerHTML;
 96             /*
 97              * 向右滚动
 98              */
 99             function toRightScroll() {
100                 speed = 2;
101                 timer = setTimeout(function() {
102                     if (oUL.offsetLeft > 0) {
103                         //向右滚动left > 0时,置ul的left = -oUL.offsetWidth / 2 px
104                         oUL.style.left = -oUL.offsetWidth / 2 + "px";
105                     } else {
106                         oUL.style.left = oUL.offsetLeft + speed + "px";
107                     }
108                     timer = setTimeout(arguments.callee, 30);
109                 }, 30);
110             };
111             toRight.onclick = toRightScroll;
112             /*
113              * 向左滚动
114              */
115             function toLeftScroll() {
116                 speed = -2;
117                  setTimeout(function() {
118                     if (oUL.offsetLeft < -oUL.offsetWidth / 2) {
119                         //向左滚动到ul的一半时,置ul的left = 0px
120                         oUL.style.left = 0;
121                     } else {
122                         oUL.style.left = oUL.offsetLeft + speed + "px";
123                     }
124                     timer = setTimeout(arguments.callee, 30);
125                 }, 30);
126             };
127             toLeft.onclick = toLeftScroll;
128             oDiv.onmouseover = function(){
129                 clearTimeout(timer);
130             };
131         </script>
132     </body>
133 </html>
无缝滚动demo

无缝滚动demo

上一篇:正则表达式


下一篇:Nginx 独立图片服务器的搭建