0
我想獲取圖像尺寸,然後執行更多操作。由於圖像載入是異步的,我決定在onload調用中做所有事情。這就是我現在所擁有的:將外部變量存入image.onload
function getMeta(url, callback) {
var img = new Image();
img.src = url;
img.onload = function() { callback(this.width, this.height); };
}
// Ajax響應這一些信息:
function(res) {
var totalFound = res.data.length;
var photo = [];
for (var i = 0; i < totalFound; i++) {
var full = res.data[i].urls.raw;
var thumb = res.data[i].urls.thumb;
var user = res.data[i].user.name;
var links = res.data[i].user.links.html;
getMeta(thumb,function(width, height) {
console.log(width + 'px ' + height + 'px')
photo.push({
full: full,
thumb: thumb,
user: author,
link: links
width: this.width
});
});
};
};
的問題是充滿變數,拇指,用戶和鏈接不可用在getMeta回調。如何克服這一點?
除了答案中的解決方案,'user:author'應該是'user:user','link:links'缺少一個逗號,'this.width'應該是'width':https:/ /jsfiddle.net/qdnw9f5w/ –