无缝滚动

  1. 首先应该区分样式中的绝对定位和相对定位,一般来说,移动的单位为绝对定位,在这个实例中,移动的Ul就是绝对定位 ,否则它根本无法滚动,而它相对于div1滚动 ,则div1就作为他的相对定位。
  2. oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;这段代码是实现无缝滚动的核心,使之可以在不论左右滚动的时候都有下一步图片接上去。
  3. 在操作或者进行比较的时候,都要用offset取值来进行操作或者比较!!!
  4. 4.
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>无缝滚动2</title>
    <style type="text/css"> 
    *{
        padding: 0;
        margin:0;
    }
    #div1{
        position: relative;
        width: 800px;
        height: 200px;
        background:red;
        margin:100px auto;
        overflow: hidden;
    }
    #div1 ul{
        position: absolute;
        left: 0;
        top: 0;

    }
    #div1 ul li{
        float: left;
        list-style: none;
        width: 200px;
        height: 200px;
    }
    </style>
    <script type="text/javascript">
    window.onload=function()
    {
        var oDiv = document.getElementById('div1');
        var oUl = oDiv.getElementsByTagName('ul')[0];
        var aLi = oDiv.getElementsByTagName('li');
        var aA = document.getElementsByTagName('a');
        var speed = 3;
        oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;
        oUl.style.width=aLi.length*aLi[0].offsetWidth+'px';

        var timer=setInterval(move,30);

        function move()
        {   
            if (oUl.offsetLeft<=-oUl.offsetWidth/2) {
                oUl.style.left="0";
                }   
                if(oUl.offsetLeft>0){
                    oUl.style.left=-oUl.offsetWidth/2+'px';
                }
                oUl.style.left=oUl.offsetLeft+speed+'px';
        };
        oDiv.onmouseover=function()
        {
            clearInterval(timer);
        };
        oDiv.onmouseout=function()
        {
            timer=setInterval(move,30);
        };
        aA[0].onclick=function()
        {
            speed=-3;
        };
        aA[1].onclick=function()
        {
            speed=3;
        };
    };
    </script>
</head>
<body>
    <a href="javascript:;">向左</a>
    <a href="javascript:;">向右</a>
    <div id="div1">
        <ul>
            <li><img src="images/n1.jpg"></li>
            <li><img src="images/n2.jpg"></li>
            <li><img src="images/n3.jpg"></li>
            <li><img src="images/n4.jpg"></li>
        </ul>
    </div>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值