首页 > 其他 > 详细

无缝滚动

时间:2016-09-03 16:33:17      阅读:124      评论:0      收藏:0      [点我收藏+]

思路:

  1、首先设置ul里面的图片一共8张:ul.innerHTML+=ul.innerHTML

  2、计算ul的实际宽度:ul.style.width = li[0].offsetWidth *li.length +‘px‘

  3、

代码如下:

  

<!DOCTYPE html>
<html>
<head>
    <title>无缝滚动</title>
    <meta charset="utf-8"/>
    <style type="text/css">
       *{
            padding: 0px;
            margin: 0px;
        }
        .main{
            width: 1200px;
            height: 200px;
            margin: 50px auto;
            position: relative;
            overflow: hidden;
        }
        ul{
            list-style: none;
            position: absolute;
            top:0px;
            left: 0px;
            overflow: hidden;
        }
        ul li{
            width: 300px;
            float: left;
        }
        </style>
</head>
<body>
        <div class="main">
        <ul>
            <li>
                <img src="img/11.jpg" width="100%">
            </li>
            <li>
                <img src="img/22.jpg" width="100%">
            </li>
            <li>
                <img src="img/33.jpg" width="100%">
            </li>
            <li>
                <img src="img/44.jpg" width="100%">
            </li>
        </ul>
    </div>
</body>
    <script type="text/javascript">
        var div = document.querySelector(.main);
        var ul = document.querySelector(ul);
        var li = document.getElementsByTagName(li);
        var speed = -2;
        ul.innerHTML +=ul.innerHTML;
        ul.style.width = li[0].offsetWidth*li.length +px;
        var timer = setInterval(move,30);
        function move(){
            if (Number(ul.style.left) < -ul.offsetWidth/2) {
                ul.style.left = 0;
            }else if (ul.offsetLeft >0) {
                ul.style.left = -ul.offsetWidth/2 +‘px‘;
            }
            ul.style.left = ul.offsetLeft + speed +px;
        }
        div.onmouseover = function(){
            clearInterval(timer);
        }
        div.onmouseout = function(){
            timer = setInterval(move,30);
            speed = 2;
        }
    </script>

</html>  

 

  

无缝滚动

原文:http://www.cnblogs.com/lin-f/p/5837292.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!