### 轮播的实现原理是怎样的?如果让你来实现,你会抽象出哪些函数(or接口)供使用?(比如 play()) #### 左右滚动无限循环轮播的实现 **原理**: 1. 是将所有图片的水平排列,但是视口只有一张图片的宽度,超出范围的图片隐藏,切换图片的时候实际上是包含全部水平图片的大盒子在移动。 2. 在图片列表开头和结尾分别克隆最后一张图和第一张图。图片的切换,就是改变绝对定位元素的left值。 3. 当我们展示到最后一张图往后点或者第一张图往前点的时候,会先展示我们之前克隆好的图,同时把元素回归到正确的位置。即真正的第一张或者最后一张的位置。  #### 渐变轮播 **原理** 1. 图片使用绝对定位显示在同一个位置上,被轮播的时候设置为``display`:block`,其他设置为``display:none`` 2. 利用fadeOut,fadeIn控制当前的元素隐藏,下一个元素显示 重点是对应的索引值的变化。 #### 抽象出的方法: ``playNext()`` ,``playPre()`` ,``setBullet()`` ### 左右滚动无限循环轮播效果 [代码](http://js.jirengu.com/gejeb/1/edit?html,css,output) ### 实现一个渐变轮播效果。 [代码](http://js.jirengu.com/japad/1/edit?html,css,output)
轮播的实现原理是怎样的?如果让你来实现,你会抽象出哪些函数(or接口)供使用?(比如 play())
左右滚动无限循环轮播的实现
原理:
是将所有图片的水平排列,但是视口只有一张图片的宽度,超出范围的图片隐藏,切换图片的时候实际上是包含全部水平图片的大盒子在移动。
在图片列表开头和结尾分别克隆最后一张图和第一张图。图片的切换,就是改变绝对定位元素的left值。
当我们展示到最后一张图往后点或者第一张图往前点的时候,会先展示我们之前克隆好的图,同时把元素回归到正确的位置。即真正的第一张或者最后一张的位置。
渐变轮播
原理
图片使用绝对定位显示在同一个位置上,被轮播的时候设置为
display`:block`,其他设置为display:none``利用fadeOut,fadeIn控制当前的元素隐藏,下一个元素显示
重点是对应的索引值的变化。
抽象出的方法:
playNext(),playPre(),setBullet()左右滚动无限循环轮播效果
代码
实现一个渐变轮播效果。
代码