浅谈使用原生JS实现轮播

实现思路:

  • 外层div设置为视图框
  • 内层ul包含许多个li
  • 每个li中,都放一张图片

HTML代码

<div class="slider">
  <ul>
     <li><img src="Algarve, Portugal.jpg"></li>
     <li><img src="China, Asia.jpg"></li>
     <li><img src="Niagara Falls.jpg"></li>
     <li><img src="Provence, France.jpg"></li>
     <li><img src="Rio de Janeiro, Brazil.jpg"></li>
     <li><img src="Salar de Uyuni, Bolivia.jpg"></li>
  </ul>
</div>

CSS代码

/*create 2016.8.04*/
*{
    box-sizing: border-box;
}

a{
    text-decoration: none;
}

ul,li{
    list-style: none;
    margin: 0;
    padding: 0;
}

#slider{
    width: 800px;
    height:300px;
    overflow: hidden;
    position: relative;
    margin: 100px auto;
}

#slider ul{
    width: 4800px;
    position: relative;
}

#slider ul:after{
    content: "";
    width: 0;
    height: 0;
    display: block;
}

#slider ul li{
    float:left;
    width: 800px;
    height: 300px;
    overflow: hidden;
}

#slider ul li img{
    width: 100%;
}

JS代码

/*create 2016.8.04*/
    (function(){
        var slider = document.getElementById("slider")
        var imgul = document.getElementsByTagName("ul")[0]
        var imglis = imgul.getElementsByTagName("li")
        var index = 0
        setInterval(function(){
            if(index>=imglis.length){
                index = 0
            }
            imgul.style.left = -(index*800) + 'px'
            index++
        },1000)//设置定时器间隔为1s
    })()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
    clark124阅读 8,976评论 1 19
  • 今年立秋来的早。立秋第二日,傍晚陪女儿在院子里玩,飒飒凉风呼啦啦迎面而来,吹的高大梧桐树的大叶子哗哗作响,整个人忽...
    青梅煮酒f阅读 3,388评论 0 1

友情链接更多精彩内容