[英]JavaScript code execution delay
function append(what) {
$("#drawer").append(what);
}
function outerHtml(o) {
return $("<div />").append($(o).clone()).html();
}
var allPixel = [];
$(".pix").each(function() {
allPixel.push(outerHtml($(this)));
});
$("#drawer").empty();
var index;
for (index = 0; index < allPixel.length; index++) {
pixel = allPixel[index];
setTimeout(append(pixel), 100);
}
我有一個包含許多div元素的容器( #drawer
)。 在此功能中,每個div元素的HTML都單獨保存在數組中。 完成后,將清除div元素。
在數組中, allPixel
現在都是div元素。 我想要這樣,以便每個div元素都以100ms的延遲添加到#drawer
中。
問題:
如果我運行此功能,則什么也不會發生(div不會消失/出現)。 我做錯了什么?
如果有任何不清楚的地方,請隨時讓我知道,我將編輯我的問題。
問題已經提出...實際應用中: https ://wiese2.lima-city.de/test/
您正在調用立即調用的方法,並將其返回值(即undefined
傳遞給setTimeout
。
您可以設置在定時器到期時將附加參數傳遞給append
函數,方法是setTimeout
方法。
采用
setTimeout(append, 100 * (i + 1), pixel);
另外,您還需要根據元素索引增加計時器
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.