原生javascript实现轮播图

简单的轮播图,但是可以自行修改很多地方比如添加文字描述等等。
代码实现了2秒自动轮播,鼠标移入轮播停止,移出轮播继续。点击右下方的按钮可以实现轮播跳转。
鼠标移除后可以在跳转后的图片上往后轮播。
可以直接复制使用,修改相应的图片和css即可。
7749电视网

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style type="text/css">
            *{
                margin: 0;
                padding: 0;
            }
            ul,li{
                list-style: none;
            }
            ul{
                position: relative;
                width: 2540px;      
                left: 0;        
            }
            .slider-wrap{
                position: relative;
                margin: 0 auto;
                border: 1px solid red;
                width: 510px;
                height: 260px;
                overflow: hidden;
                background-color: darkgray;
            }
            .slider-wrap li{
                float: left;
            }
            .clearfix{
                zoom: 1;
            }
            .clearfix:after{
                content: "";
                height: 0;
                display: block;
                clear: both;
            }
            .slider-count{
                position: absolute;
                bottom: 12px;
                right: 20px;
                z-index: 2;
            }
             span{
                width: 10px;
                height: 10px;
                background-color: white;
                border-radius: 50%;
                display: inline-block;
                cursor: pointer;
                margin-right: 5px;
                font-size: 0;
            }
            .active{
                background-color: #fd4c5d;
                width: 20px;
                border-radius: 20px;
            }
        </style>
    </head>
    <body>
        <div class="slider-wrap clearfix" id="slider_wrap">
            <ul id="ul">
                <li><img src="img/1.jpg"></li>
                <li><img src="img/2.png"></li>
                <li><img src="img/3.jpg"></li>
                <li><img src="img/4.png"></li>
                <li><img src="img/5.jpg"></li>
            </ul>
            <div class="slider-count">
                <span class="active">1</span>
                <span>2</span>
                <span>3</span>
                <span>4</span>
                <span>5</span>
            </div>
        </div>
        <script>
            var slider_img = document.getElementsByTagName("ul");
            var slider_count = document.getElementsByTagName("span");
            var ul = document.getElementById("ul");
            var slider_wrap = document.getElementsByClassName("slider-wrap");
            var interval = setInterval(autoplay,2000);
            var indexnum = 0;
            //slider——count点击事件
            for(var i=0;i < slider_count.length;i++)
            {
                slider_count[i].onclick = function(){
                    changeimg(this.innerHTML-1);
                    changecss(this.innerHTML-1);
                    indexnum = this.innerHTML-1;
                }
            }
            //鼠标移入移除事件
            slider_wrap[0].onmousemove = function(){
                clearInterval(interval);    
            }
            slider_wrap[0].onmouseout = function(){
                interval = setInterval(autoplay,2000);
            }
            //自动播放
            function autoplay(){
                if(indexnum>4){
                    indexnum = 0;
                }
                changeimg(indexnum);
                changecss(indexnum);
                indexnum++;
            }
            function changeimg(num){
                ul.style.left = -(num)*508+"px";
            }   
            function changecss(num){
                for(var i=0;i<slider_count.length;i++){
                    slider_count[i].className = " "
                }
                slider_count[num].className = " active"
            }
        </script>
    </body>
</html>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 通过学习,我理解了图片轮播原理,学习了setTimeout()、setInterval()函数设置定时器与清除定时...
    McRay阅读 2,225评论 0 7
  • 这是前阵子写的2款原生JS轮播,一个是渐变轮播预览,一个是滚动轮播预览,现在补充博文总结。 渐变轮播 因为是梳理自...
    妙言Lisa阅读 962评论 2 7
  • 本文首发于我的博客,这是我的github,欢迎star。 这是一个轮播图组件,你可以直接下载使用,这里是代码地址,...
    空_城__阅读 1,583评论 2 5
  • 什么是轮播图? 轮播图,图片旋转器,滑片,无论你怎么叫这玩意,它在网络上无处不在。轮播图在电商网站主页上广泛应用,...
    酷酷de柯基阅读 25,711评论 10 45
  • 清明节休息了两天,没有赶回老家,得空放松自己。第一天七点起床给孩子准备早餐,第二天睡到八点。整个人都精神了。晚睡早...
    May74阅读 154评论 0 0