一、前言
实现功能:
- 显示多张图片,每张图片占据轮播图容器的一部分空间。
- 实现向左和向右的切换按钮,可以点击按钮切换到上一张或下一张图片。
- 在底部显示小圆点,表示当前显示的图片,点击小圆点可以跳转到对应的图片。
实现逻辑:
-
首先,使用
querySelectorAll
方法获取所有的轮播项元素,并将其保存在items
变量中。 -
定义一个全局变量
current
,用于记录当前显示的轮播项的索引,默认为0。通过操作current
变量来控制显示的轮播项。并通过调用相关函数来更新显示和样式 -
定义
showSlide
函数,用于显示当前的轮播项。通过遍历所有轮播项,设置其transform
属性来实现水平滑动效果。同时,调用updateDots
函数更新小圆点的样式。 -
定义
prevSlide
函数,用于切换到上一张轮播项。如果current
大于0,则将current
减1;否则,将current
设置为最后一张轮播项的索引。然后,调用showSlide
函数显示对应的轮播项。 -
定义
nextSlide
函数,用于切换到下一张轮播项。如果current
小于轮播项的数量减1,则将current
加1;否则,将current
设置为0。然后,调用showSlide
函数显示对应的轮播项。 -
使用
setInterval
方法定义一个定时器timer
,每隔3秒自动调用一次nextSlide
函数,实现自动播放功能。 -
定义
pauseTimer
函数,用于暂停定时器。通过调用clearInterval
方法,清除定时器timer
。 -
定义
resumeTimer
函数,用于恢复定时器。重新设置定时器timer
,调用nextSlide
函数实现轮播功能。 -
添加鼠标悬停和离开事件监听器,当鼠标悬停在轮播图上时,调用
pauseTimer
函数暂停自动播放;当鼠标离开时,调用resumeTimer
函数恢复自动播放。 <