簡體   English   中英

JavaScript代碼執行延遲

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM