setTimeout不能按預期工作,因爲它將執行下面的代碼而不等待延遲運行'setTimeout'的第一個參數setTimeout First Delay不生效
(function() {
var a = ['#bird','#flower','#cat'];
var totalno = settings.imageArray.length;
function rotateImages(start) {
var nextImage = start + 1;
if(nextImage % totalno == 0){
nextImage=0;
}
//do animate here
$(settings.imageArray).fadeOut();
window.setTimeout(function() {
rotateImages(++start % totalno);
}, settings.imageArray[start].delay);
}
rotateImages(0);
})();
有沒有辦法寫它以使它不淡出馬上第一張圖片?
簡化版將是:
(function() {
var a = ['#bird','#flower','#cat'];
function rotateImages(start) {
//do something here
window.setTimeout(function() {
rotateImages(++start % a.length;);
}, 1000);
}
rotateImages(0);
})();
什麼是settings.imageArray [開始] .delay設置當代碼執行(以類似Firebug的檢查, ) – kinakuta 2011-06-09 08:10:42
它取決於對象..它的屬性是圖像名稱,圖像延遲等.. – hamahama 2011-06-09 09:01:25