所以我有以下問題: 我有,我用了不同的操作循環來填充數據的另一個JSON這種方法的getJSON。在該循環中,我嘗試獲取所有圖像文件的尺寸(存儲在第一個json中,並使用它們的src),並將它們添加爲第二個json中的另一個屬性。 爲此我使用下面的代碼:有道等待所有圖像填充數據
$.getJSON("json.txt", function(myJsonData) {
var elemID, elemType, elemURL, thumb, date, menuItem, imgH, imgW;
for (key in myJsonData) {
/*---Some operations for giving values all the variables---*/
//Getting image dimensions
var tempImg = new Image();
tempImg.onload = function() {
imgW = this.width;
imgH = this.height;
console.log(imgW + 'x' + imgH);
loaded += 1;
}
tempImg.src = elemURL;
//Filling the new json
var newJsonData = {
"elemID": 'elemID_' + elemID,
"type": elemType,
"url": elemURL,
"thumbnail": thumb,
"menuItem": menuItem,
"date": date,
"W": imgW,
"H": imgH
}
}
}
之後,我有一個函數生成html代碼創建我的頁面的DOM。 問題是 - 新JSON沒有等待的onload功能,我無法通過圖像的尺寸。我正在考慮使用超時或其他方式,但我不確定這是一種好的做法。 :/希望你們能幫忙。
凡'data'定義? – guest271314
您在'for..in'循環中加載**相同的圖像**。這是你的意圖嗎? – hindmost
的數據,而不是嘗試使用myJsonData像(在myJsonData鍵) –