美文网首页
原生Js实现轮播图

原生Js实现轮播图

作者: tency小七 | 来源:发表于2018-07-30 17:02 被阅读0次
页面结构

原理(通过图片位置的变换来实现轮播,container位置有限,一次只能显示一张,container的宽度长度就是我们能看到的轮播图的长度宽度,如果哪站图片移动到那里的时候,就显示那一张)

  <div id = "container">
    <div id="list"  style="left:-650px"> //主体
        <img class="img" src="./images/4.jpg" alt=""/>
        <img class="img" src="./images/1.jpg" alt=""/>
        <img class="img" src="./images/2.jpg" alt=""/>
        <img class="img" src="./images/3.jpg" alt=""/>
        <img class="img" src="./images/4.jpg" alt=""/>
        <img class="img" src="./images/1.jpg" alt=""/>
    </div>
    <div id="buttons">
        <span index="1" class="on"></span>
        <span index="2"></span>
        <span index="3"></span>
        <span index="4"></span>
    </div>
    <a href="#" class="arrow"id="prev">&lt</a>
    <a href="#" class="arrow"id="next">&gt</a>
</div>

        <style>
    html *{
        padding:0;
        margin:0;
    }
    #container{
        width:600px;
        height:350px;
        overflow:hidden;
        position:relative;
        z-index:1;
    }
    #list{
        width:4000px;
        height:350px;
        position:absolute;
        z-index:1;
    }
    .img{
        float:left;
    }
    .arrow{
        width:30px;
        height:50px;
        font-size:40px;
        position:absolute;
        z-index:2;
        text-decoration:none;
        color:#fff;
    }
    .arrow:hover{
        background-color:grey;
        opacity:0.5;
        z-index:2;
    }
    #prev{
        position:absolute;
        top:150px;
        right:550px;
    }
    #next{
        position:absolute;
        top:150px;
        right:20px;     
    }
    
    #buttons{
        z-index:3;
        position:absolute;  
        bottom:20px;    
        left:200px; 
    }
    span{
        height:10px;
        width:10px;
        border-radius:50%;
        background-color:#fff;
        float:left;
        margin-right:20px;
        
    }
    .on{
        background-color:orange;
    }
     </style>

问题一:
为什么要前面后面各多加一张照片


image.png
箭头切换

定义click事件,定义animation(offest)

无限滚动

next点击时,若当前图片索引值为4(一共有4张要显示的图片),则令index = 1;重新定位。prev点击时,若当前图片索引值为1,则令index = 4;

按钮切换

定位当前按钮索引值(getAttribute),两个索引之差再进行计算。

定时播放

定时器。
container.onmouseover=stop;
container.onmouseout=play;

        <style>
    html *{
        padding:0;
        margin:0;
    }
    #container{
        width:600px;
        height:350px;
        overflow:hidden;
        position:relative;
        z-index:1;
    }
    #list{
        width:4000px;
        height:350px;
        position:absolute;
        z-index:1;
    }
    .img{
        float:left;
    }
    .arrow{
        width:30px;
        height:50px;
        font-size:40px;
        position:absolute;
        z-index:2;
        text-decoration:none;
        color:#fff;
    }
    .arrow:hover{
        background-color:grey;
        opacity:0.5;
        z-index:2;
    }
    #prev{
        position:absolute;
        top:150px;
        right:550px;
    }
    #next{
        position:absolute;
        top:150px;
        right:20px;     
    }
    
    #buttons{
        z-index:3;
        position:absolute;  
        bottom:20px;    
        left:200px; 
    }
    span{
        height:10px;
        width:10px;
        border-radius:50%;
        background-color:#fff;
        float:left;
        margin-right:20px;
        
    }
    .on{
        background-color:orange;
    }

相关文章

  • 用js原生实现轮播图

    用jquery实现轮播图非常简单的啦!有没有想过用原生js实现轮播图呢???今天琢磨了一下,摸索出来一个,就和大家...

  • JavaScript | 365笔记第87天 | 原生JS做轮播

    用原生JS做一个轮播图

  • 原生Js实现轮播图

    页面结构 原理(通过图片位置的变换来实现轮播,container位置有限,一次只能显示一张,container的宽...

  • 原生JS实现轮播图

    实习刚结束,由于实习期间一直用的React框架,原生js都有些生疏了,所以用原生js写了个简单的轮播图练练手。 方...

  • 原生js实现轮播图

    今天练习一下DOM操作,顺便熟悉熟悉函数,做了一个轮播图,经过测试,效果还不错!直接放上源码,供大家参考!

  • 原生JS实现轮播图

  • 原生js制作轮播图

    原生js 制作的轮播图 今天学习了一个原生js轮播图的方法。效果图如下 通过点击上下页和中间的点进行翻页,通过改变...

  • 轮播图(2)——基于JQ的左右滑动轮播

    上回书我们说到原生js淡入淡出效果的轮播图,这回我们说说左右滑动轮播图,由于需要缓动动画效果,原生js需要封装缓动...

  • 小记setTimeout

    前言:从《原生JS实现轮播(上)》中JS实现渐变效果,引出的setTimeout用法问题。 对于setInterv...

  • js原生—— 无缝轮播

    今天分享前端开发学习中的一个很经典的案例——原生JS实现无缝轮播图。 需求: 1.鼠标移入轮播图时左右两边显示上一...

网友评论

      本文标题:原生Js实现轮播图

      本文链接:https://www.haomeiwen.com/subject/cqbfvftx.html