我試圖創建自己的幻燈片。以下代碼從一個圖像變爲另一個圖像。我想循環從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