我正在尝试制作一个小jquery滑块,以便在图像之间简单地淡化,但是当它逐渐淡入下一张幻灯片时,它会显示一段幻灯片,然后返回到第一张幻灯片。我不是最好的jquery,更不用说JavaScript,我是一个PHP / BASH家伙。
的jQuery
// Start Slides
$('#hi1').fadeTo("slow", 1.0, function () {
var slide = 1,
slides = 4
ids = [
'#hi1',
'#hi2',
'#hi3',
'#hi4', ],
slideShow = setInterval(function () {
var nextSlide = slide + 1;
if (slide >= slides) {
nextSlide = 1;
}
$(ids[nextSlide]).fadeTo("fast", 1.0, function () {
$(ids[slide]).fadeTo("slow", 0);
});
slide++;
if (slide >= slides) {
slide = 1;
}
}, 5000);
// End Slides
});
答案 0 :(得分:3)
nextslide检查通过了计数,因为您正在检查当前幻灯片。 首先淡出你以前的幻灯片,然后淡出即将到来的幻灯片。 数组索引从0开始,因此启动表示数组索引为0的变量是有意义的。
无论如何,请尝试以下方法! :)
// Start Slides
$('#hi1').fadeTo("slow", 1.0);
var slide = 0,
ids = [
'#hi1',
'#hi2',
'#hi3',
'#hi4', ],
countSlides = slides.length,
slideShow = setInterval(function () {
var nextSlide = slide + 1;
if (nextSlide > countSlides - 1) {
nextSlide = 0;
}
$(ids[slide]).fadeTo("slow", 0);
$(ids[nextSlide]).fadeTo("fast", 1.0);
slide++;
if (slide > countSlides - 1) {
slide = 0;
}
}, 1000);