jQuery 图片轮播图 单独控制每张图显示停留时间
时间: 2023-05-30 17:01:47 浏览: 126
你可以使用 jQuery 的 setTimeout 函数来实现单独控制每张图显示停留时间的效果。以下是一个示例代码:
```javascript
$(document).ready(function() {
// 定义每张图片的停留时间
var slideDuration = [3000, 4000, 5000];
// 初始化轮播图
var currentSlide = 0;
showSlide(currentSlide);
// 自动切换下一张图片
var timer = setInterval(function() {
currentSlide++;
if (currentSlide >= slideDuration.length) {
currentSlide = 0;
}
showSlide(currentSlide);
}, slideDuration[currentSlide]);
// 点击左右箭头切换图片
$('.prev').click(function() {
currentSlide--;
if (currentSlide < 0) {
currentSlide = slideDuration.length - 1;
}
showSlide(currentSlide);
});
$('.next').click(function() {
currentSlide++;
if (currentSlide >= slideDuration.length) {
currentSlide = 0;
}
showSlide(currentSlide);
});
// 显示指定的图片
function showSlide(index) {
$('.slide').hide();
$('.slide').eq(index).fadeIn(500);
clearInterval(timer);
timer = setInterval(function() {
currentSlide++;
if (currentSlide >= slideDuration.length) {
currentSlide = 0;
}
showSlide(currentSlide);
}, slideDuration[currentSlide]);
}
});
```
这个代码中,我们定义了一个数组 `slideDuration`,用于存储每张图片的停留时间。在初始化轮播图时,我们调用了 `showSlide` 函数,显示第一张图片。然后使用 `setInterval` 函数来自动切换下一张图片,时间间隔为当前图片的停留时间。
在点击左右箭头切换图片时,我们通过修改 `currentSlide` 变量来指定要显示的图片,并调用 `showSlide` 函数来显示它。
在 `showSlide` 函数中,我们先隐藏所有图片,然后用 `fadeIn` 函数显示指定的图片。接着使用 `clearInterval` 函数清除自动切换下一张图片的定时器,重新设置定时器,时间间隔为当前图片的停留时间。这样就实现了单独控制每张图显示停留时间的效果。
阅读全文