我有一個頁面,其中我正在使用ajax插入記錄...現在在JavaScript中我使用每個循環來循環html表格並插入數據庫中的行。但發生是因爲foreach循環執行速度快,有時,不插入一些記錄..所以我想使循環睡眠一段時間後,它已經執行第一次,然後...每次執行後暫停循環
有沒有什麼辦法來暫停for循環..我用setTImeout ..但它只是延遲它的第一次,而不是連續的時間... 這是我的代碼。
function AddTopStories() {
$("#tBodySecond tr").each(function (index) {
$.ajax({
type: "POST",
url: "AjaxMethods.aspx/AddTopStoriesPosition",
data: "{'articleID':'" + $("td:nth-child(1)", this).text() + "','siteID':1}",
dataType: "json",
contentType: "application/json",
success: function (data) {
window.setTimeout(showSuccessToast(data.d), 3000);
},
error: function (data) {
window.setTimeout(showSuccessToast("Error:" + data.reponseText), 3000);
}
});
});
}
Please help me to resolve this issue... its utmost important.
*************************************UPDATED CODE AS PER THE CHANGES BY jfriend00*********
function AddTopStories() {
var stories = $("#tBodySecond tr");
var storyIndex = 0;
function addNext() {
if (storyIndex > stories.length) return; // done, no more to get
var item = stories.get(storyIndex++);
alert($("td:nth-child(1)", item).text());
addNext();
}
}
這只是沒有做任何事情......不通知......
我更新了我的問題,我已經添加了您提供給我的代碼..請檢查我的問題...根據更新代碼按照jfriend00更改..但它只是沒有做任何事情。 – Abbas
我忘了我剛添加的一行。你必須第一次調用addNext()。 – jfriend00
你只是一個很棒的男人....什麼是代碼...只是偉大的..從來沒有想過它可以完成..沒有循環和超時....高超的人....非常感謝。 – Abbas