blog
blog copied to clipboard
Slideshow
题目1: 轮播的实现原理是怎样的?如果让你来实现,你会抽象出哪些函数(or接口)供使用?(比如 play())
play()可以设置传不同类型的参数执行不同的函数 比如boolean时的true执行下一张,false执行上一张 如果传具体的参数,将跳转至相应索引的图片
左右滚动无线循环轮播
思路是使用js复制clone第一个图和最后一个图,分别放到父元素内的最后一个和第一个。 当右滚动至最后一图的时候,js切换成原来的第一个图,左滚动切换成原来的最后一张图。
渐变效果的无限循环轮播
实际比上一个实现起来简单,因为不用去计算不同索引的具体位置。简单的控制fadein或out就可以了。 图片都设置默认不显示,初始化只有第一张显示,js控制渐变,当滚动下一张的时候,将此时的图fadeOut,下一张图fadeIn,具体的索引index使用index%=图片的个数来获得,另外jq对象的eq()支持负数,所以实现起来更简单。
还有很多细节,具体审查元素代码
题目2: 实现视频中的左右滚动无限循环轮播效果
https://nanyang24.github.io/practice/slideshow/slideshow-slide.html
题目3: 实现一个渐变轮播效果
https://nanyang24.github.io/practice/slideshow/slideshow-fadeout.html