簡體   English   中英

循環結束並用jQuery填充內容后,Javascript調用函數

[英]Javascript call function once loop finishes and jQuery populates content

我正在嘗試讓我的jQuery在此流程中工作:

  1. 使用$ getJson解析json
  2. 遍歷返回的JSON並為每個JSON項目創建div
  3. 完成后,重復此操作,但使用另一個json文件,然后將結果附加到現有結果中。

但是到目前為止,我無法在第一個循環完成之后調用另一個函數,因為該函數在填充頁面之前被調用。 如何完成填充循環,然后調用另一個函數?

感謝您能給我的任何幫助。 如您所知,仍在學習。

function test() {
  var i;
  for(i=0;i<=10;i++) {
    $("div#test").append("<div id='"+i+"'></div>");
  }
  when_loop_is_done();
}
function when_loop_is_done() {
  var i;
  for(i=0;i<=10;i++) {
    $("div#test div#"+i).append("<span>foo</span>");
  }
}

本質上,我是從服務器上的單獨頁面獲取JSON,然后使用該JSON對象中的變量進行循環並填充內容。 不管我怎么做,問題總是在jQuery填充內容之前調用第二個函數。 因此,如果我在循環完成后調用警報,則頁面將彈出警報,然后加載所有附加的html。

將結果存儲在變量或屬性中。 然后,使用$(document).ready(fn)等待頁面完成加載並填充頁面或在完成加載后完成工作。

您的代碼應如下所示:

   $.getJSON('/remote.json', function (response) {
     // do the first loop using the response json
   })
   .done(function () {
     // do the second json request and loop through the results
   });

您在done()方法的回調函數中調用的任何代碼都將等待,直到鏈中的上一個方法完成為止。 您絕對應該查看$ .getJSON的API文檔: https ://api.jquery.com/jquery.getjson/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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