我試圖做一個幻燈片使用jquery,圖片循環的函數,每5.5秒調用一次函數。但是,我試圖避免遞歸,因爲它與迭代調用相比非常昂貴。我假設這是IE瀏覽器加載幻燈片時有非停止加載圖標的原因。所以我想將下面的函數轉換爲迭代函數。如何將遞歸函數轉換爲循環函數與jquery/javascript
function playslides()
{
//hide previous slide
$(document.getElementById(t)).fadeOut("slow");
//reset slide index
calcSildes();
//show new slide
$(document.getElementById(t)).fadeIn("slow");
//recursive call after 5.5 sec
timer = setTimeout("playslides()", 5500);
}
//on page load...
$(document).ready(
playslides();
);
到目前爲止,我的兩個方法是:
創建$(文件)。就緒()函數和循環playslides()函數中while循環。
創建另一個調用playslides()函數的計時器函數,並讓playslides函數調用該計時器函數。 (不知道這是否可以避免遞歸......)
謝謝!!
爲什麼不使用jQuery幻燈片放映插件之一? – jrummell 2012-01-05 18:46:32
你爲什麼認爲這是非常昂貴的?您重複的DOM選擇將是應該修復的最昂貴的事情。 – 2012-01-05 19:11:13
感謝所有,我更改函數使用SetInterval而不是SetTimeout後,頁面加載後IE的旋轉加載圖標仍然存在,任何想法可能會導致這種情況?難道是「重複的DOM選擇」?謝謝! – eastboundr 2012-01-05 21:10:35