我尝试使用 fadeIn 和 fadeOut 选项添加不同的图像。现在,该脚本不断循环。但是我想让它在结束最后一张图像并发出警报后停止循环。就是这样。 我不确定我该怎么做才能在循环结束时收到警报。
$('document').ready(function() {
var $imgs = $('#slideshow > img'), current = 0;
var nextImage = function() {
if (current >= $imgs.length) current = 0;
$imgs.eq(current++).fadeIn(function() {
$(this).delay(3000).fadeOut(nextImage);
})
};
nextImage();
});
最佳答案
你需要更换:
if (current >= $imgs.length) current = 0;
与:
if (current >= $imgs.length) {
alert('end of images');
return false;
}
return false;
将立即退出该方法。
最终代码应该是这样的:
$('document').ready(function() {
var $imgs = $('#slideshow > img'), current = 0;
var nextImage = function() {
if (current >= $imgs.length) {
alert('End of images');
return false;
}
$imgs.eq(current++).fadeIn(function() {
$(this).delay(3000).fadeOut(nextImage);
})
};
nextImage();
});
希望对您有所帮助。
关于javascript - 不连续只循环当前图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19490032/