我试图创建自己的幻灯片。以下代码从一个图像变为另一个图像。我想循环从img1.jpg到img4.jpg,但我不知道如何在每次更改后暂停。jQuery幻灯片
i++;
temp = "img"+i+".jpg";
$("#img").fadeOut(function() {
$(this).load(function() { $(this).fadeIn(); });
$(this).attr("src", temp);
});
更新:我已将代码更改为以下内容。在John Boker的建议下,我将图像更名为img0,img1,img2,img3。它到达了第一,第二,第三个图像。有任何想法吗?
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
var temp="";
function slideshow(i)
{
temp = "img"+i+".jpg";
$("#img").fadeOut(function() {
$(this).load(function() {
$(this).fadeIn();
// set a timeout of 5 seconds to show the next image;
setTimeout(function(){ slideshow((i+1)%4); }, 5000);
});
$(this).attr("src", temp);
});
}
slideshow(0);
});
</script>
</head>
<body>
<img src="img1.jpg" id="img"/>
</body>
</html>
工程很好,但如何可以循环,所以当它到达img4它回到img1。我尝试了一个if语句,但无法使其工作。谢谢。 – usertest 2010-01-04 20:22:25
糟糕,我应该提到'i'变量必须在函数之外进行初始化,以便每次函数执行时都不会在本地范围内重新初始化。修改后的代码应该可以工作 – 2010-01-04 20:28:06