# Carousel
# 网页链接
# 源码
# 如何实现点击切换的
# 如何显示
网页里有 5 个可以切换的图片, 它们都是作为各自的div.slide
的background
存在, 初始化时它们被设置opacity:0
, 都不会显示出来, 只有带有.current
的div
才能显示出来.这里, 我们默认为第一个 slide 添加current
类
# 如何切换
添加两个按钮, 分别为next
, prev
.各自绑定点击事件.就next
绑定事件为例,
- 将当前带有
current
类的div
找到并从它的classList
中删除current
类 - 从删除
current
类的div
往下一个兄弟元素寻找(使用nextElementSibling
), 如果有, 则给它的classList
添加current
类.如果没有, 则给第一个 slide 添加current
类.
prev
同理, 不过是把nextElementSibling
改为prevElementSibling
# 自动切换
使用setInterval(nextSlide, intervalTime)
可以实现自动切换.但是要注意的是, 当点击next
按钮时, 必须要清除setInterVal
, 否则会出现连续切换图片的 bug, 所以每次setInterval()
前, clearInterval(intervalId)
必须调用, 将每次切换后的时间归零.