原生js实现轮播图的示例代码

  

很多网站上都有轮播图,但却很难找到一个系统讲解的,因此这里做一个简单的介绍,希望大家都能有所收获,如果有哪些不正确的地方,希望大家可以指出。

  

<强>原理:

  

将一些图片在一行中平铺,然后计算偏移量再利用定时器实现定时轮播。

  

  

如下所示:

        & lt; !DOCTYPE html>   & lt; html>   & lt; head>   & lt;元charset=皍tf - 8”比;   & lt; title>轮播图& lt;/title>   & lt;/head>   & lt; body>   & lt; div类="容器"比;   & lt; div类="包装"比;   & lt; img src=" https://www.yisu.com/zixun/img/5.jpg "比;   & lt; img src=" https://www.yisu.com/zixun/img/1.jpg "比;   & lt; img src=" https://www.yisu.com/zixun/img/2.jpg "比;   & lt; img src=" https://www.yisu.com/zixun/img/3.jpg "比;   & lt; img src=" https://www.yisu.com/zixun/img/4.jpg "比;   & lt; img src=" https://www.yisu.com/zixun/img/5.jpg "比;   & lt; img src=" https://www.yisu.com/zixun/img/1.jpg "比;   & lt;/div>   & lt; div类="按钮"比;   & lt; span> 1 & lt;/span>   & lt; span> 2 & lt;/span>   & lt; span> 3 & lt;/span>   & lt; span> 4 & lt;/span>   & lt; span> 5 & lt;/span>   & lt;/div>   & lt; a href=" javascript:,“rel=巴獠縩ofollow”rel=巴獠縩ofollow”rel=巴獠縩ofollow”rel=巴獠縩ofollow”class=癮rrow_left祝辞,lt; & lt;/a>   & lt; a href=" javascript:,“rel=巴獠縩ofollow”rel=巴獠縩ofollow”rel=巴獠縩ofollow”rel=巴獠縩ofollow”class=癮rrow_right祝辞,gt; & lt;/a>   & lt;/div>   & lt;/body>   & lt;/html>      

,只有五张图片,却使用7张来轮播,这是为了实现无缝轮播,后面会详细介绍。

  

而5个,即我们可以实时看到轮播图目前所处的位置。

  

最后是两个按钮,可以通过它来控制前进与后退。

  

这里我们需要对包装使用绝对定位,所以用左:-600 px;将第一张图片显示出来。

  

  

首先,resetcss如下所示:

        * {   保证金:0;   填充:0;   }   一个{   文字修饰:没有;   }   之前      

接着,我们为了让图片只在容器中,所以需要限定其宽度和高度并且使用溢出:隐藏;将其余的图片隐藏起来,并且我们希望包装相对于容器左右移动,所以设置为相对的,如下:

        .container {   位置:相对;   宽度:600 px;   身高:400 px;   保证金:100 px汽车0汽车;   不必:0 0 5 px绿色;   溢出:隐藏;   }      

我们设置包装是绝对定位的,所以,我们就可以通过控制左和右来控制图片的移动了。设置z - index: 1;以对后面将要放置的按钮作为参考。因为共有七张图片,所以宽度为4200 px(每张图片我们设置为600 x400),我们只需让图片左浮动即可实现占满一排了。

        .wrap {   位置:绝对的;   宽度:4200 px;   身高:400 px;   z - index: 1;   }      

然后我们把图片设置位左浮动,并限定其大小,如下所示:

        .container .wrap img {   浮:左;   宽度:600 px;   身高:400 px;   }      

现在的效果如下:

  

原生js实现轮播图的示例代码”>,,,,</p>
  <p>即这时已经显示出了第一张图片。并且充满了整个容器(容器是有不必的);</p>
  <p>然后我们把显示次序的按钮放在图片的右下角,并且设置z - index: 2;以保证按钮是在图片的上面的只</p>
  
  <pre类=   .container .buttons {   位置:绝对的;   右:150 px;   底部:20 px;   宽度:100 px;   高度:10 px;   z - index: 2;   }      

然后将按钮下面的跨度做一个简单的修饰,并且给和图片对应的跨度设置一个类,如下:,

        .container .buttons跨度{   margin-left: 5 px;   显示:inline-block;   宽度:20 px;   高度:20 px;   这个特性:50%;   背景颜色:绿色;   text-align:中心;   颜色:白色;   光标:指针;   }   .container .buttons span.on {   背景颜色:红色;   }      

接下来,我们把左右切换的箭头加上,然后做简单的修饰,注意,因为这里使用实体来表示左右箭头,所以设置字体大小才能改变其大小,

原生js实现轮播图的示例代码