无缝轮播图

我的未来我决定 提交于 2020-02-04 23:04:50

编辑本博客

  • 巧用定时器

  • 获取标签方式
  • 清理定时器
  • 记住当前位置
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>无缝轮播</title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        ul{
            list-style:none;
        }
        .warper{
            width: 400px;
            height: 319px;
            /*background-color: #A9A9A9;*/
            margin: 0 auto;
            overflow: hidden;
            position: relative;
        }
        ul li{
            float: left;
        }
        ul{
            width: 800%;
            position: absolute;
            top: 0;
            left: 0;

        }
        ul li img{
            width: 400px;
            height: 319px;
        }
    </style>
</head>
<body>
    <div id="lb" class="warper">
        <ul>
            <li><img src="img/lb/1.jpg"> </li>
            <li><img src="img/lb/2.jpg"> </li>
            <li><img src="img/lb/3.jpg"> </li>
            <li><img src="img/lb/4.jpg"> </li>
            <li><img src="img/lb/5.jpg"> </li>
            <li><img src="img/lb/6.jpg"> </li>
            <li><img src="img/lb/7.jpg"> </li>
            <li><img src="img/lb/8.jpg"> </li>
        </ul>
    </div>
</body>
<script type="text/javascript">
    var box=document.getElementsByClassName("warper")[0];
    var ul=box.children[0];<!--获取子集第一个标签-->
    var num=0;//一定要在循环外面记住left位置
    var timer=null;
    timer=setInterval(autoPlay,30);//打卡页面就开始播放
    function autoPlay(){
            num--;
            num <= -2800?num=0:num;<!--如果num小于-3200,num=0,否则num-->
            ul.style.left=num+"px";
    }
    //鼠标放上去清除定时器,即暂停播放
    box.onmouseover=function () {
        clearInterval(timer);
    };
    //鼠标移走,先清除定时器,再开启轮播
    box.onmouseout=function () {
        clearInterval(timer);
        timer=setInterval(autoPlay,30);
    }
</script>
</html>
View Code

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!