的jsfiddle在這裏...setInterval只運行一次?
所有權利。我試圖創建一個JQuery輪播展示一些不同寬度的圖像。爲了幫助實現這一點,我試圖在包含圖像的無序列表上創建一個無縫,無止境的幻燈片。我計劃將已經通過閾值的圖像與.before屬性放在一起,以便它永遠持續下去。但是,我有三個問題。
的第一個問題是,如果我的JS是這樣的......
$(document).ready(function() {
function gallery() {
$("#image").animate({"margin-left":"200px"}, 3000);
}
setInterval(gallery, 3000);
});
它等待3秒,並且只運行一次。我環顧四周,看看我能解決的只是一次運行的問題,我發現這個...
setInterval() only running function once
等諸多問題,如它。總是這是一回事。他們呼籲這樣的功能...
setInterval(gallery(), 3000);
,而不是像這樣的setInterval,...
setInterval(gallery, 3000);
所以,我知道這不可能是解決辦法。考慮到我的功能已經沒有括號,並且被稱爲正確的方式。 (我認爲)。
所以,邏輯上我試圖解決下一個問題,三秒延遲。我寫這...
$(document).ready(function() {
$("#image").animate({"margin-left":"200px"}, 3000);
function gallery() {
$("#image").animate({"margin-left":"200px"}, 3000);
}
setInterval(gallery, 3000);
});
現在立即運行在頁面加載時,然而,由於setInterval的只運行前一次,我假設我會得到兩個事件......
$("#image").animate({"margin-left":"200px"}, 3000);
一個負載運行,另一個通過setInterval從「庫」函數運行。但是,情況並非如此。它立即運行,但我只發生一次。
我的最後一個問題與setInterval沒有任何關係,但我想我會用一塊石頭殺死兩隻鳥。因爲我的無序列表的寬度爲9,999像素,這是否意味着即使我連續運行動畫,最終我將用盡元素移動?
感謝先進!
動畫是你的問題就在這裏,當達到 –