我在显示数组时遇到问题,该数组包含每个循环中保存的值。
这是说明我的意思的简单代码
$('.photo').each(function(){
width_array.push($(this).width());
});
// when each loop is complete
for(var i =0,i<$('.photo').length,i++){
total_width += width_array[i];
}
这里的问题是for循环在每个循环结束之前开始。
如何解决这个问题?
答案 0 :(得分:2)
我更喜欢使用for循环而不是每个函数。
for(var i=0; i<$('.photo').length; i++)
{
width_array.push($('.photo').eq(i).width());
if(i==($('.photo').length-1))
{
for(var j =0;j<$('.photo').length;j++)
{
total_width += width_array[j];
}
}
}
答案 1 :(得分:0)
我无法看到for
循环在.each()
循环结束之前开始。也许您忘了在width_array
回调函数之前声明.each()
?
无论哪种方式,都可以更轻松地在total_width
循环中计算.each()
:
var width_array = [],
total_width = 0;
$('.photo').each(function(){
width_array.push($(this).width());
total_width += $(this).width();
});