目前我正在制作另一个html5/javascript广告。这一个使用来自cookie的多个数据。为了正确渲染一切,我做了一个for循环来获取信息,然后将它发送给另一个函数。通过for循环发送信息
我的问题是,它第一次加载太快,所以它跳过图像。每次我必须在广告正确显示之前刷新广告。到目前为止,我使用的所有onload函数都失败了(发送错误的数据,根本没有,或者只有1个)。
下面是该项目的相关部分:
for (var i=0; i < 3; i++){
pT.push("pT"+[i]);
pM.push("pM"+[i]);
ctx.push("ctxP"+[i]);
cvs.push("cvsP"+[i]);
cvs[i] = document.getElementById('canvas'+[i]);
ctx[i] = cvs[i].getContext('2d');
pT[i] = new Image();
pT[i].onload = function(){
console.log("pT: "+ this.height);
}
pT[i].src = data.products[i].imageUrl;
pM[i] = new Image();
pM[i].onload = function(){
console.log("pM: "+ this.height);
}
pM[i].src = data.products[i].imageUrl;
testing(pT[i], pM[i]);
}
function testing(pThumb, pMain){
console.log(pThumb.height);
}
我要的是一个方法,因此,所有的信息获取,当一切都加载完成发送。
您是否尝试过使用onload监听器? –
是的,我导致其余数据不能正确处理,当我试图解决这个问题时,它只会发送数组的一部分,而不是其他数据。可能是因为我以错误的方式/位置使用了它,但我仍然在学习:)。 – Levi