美好的一天
我有以下函数计算每个div的高度并将其添加到变量,但它不起作用:
JS:
$('#latestInner, #make, #models').each(function() {
var i = 0;
var h = $(this).outerHeight();
i = i + h;
});
alert(i);
HTML:
<div id="latestInner"></div>
<div id="make"></div>
<div id="models"></div>
CSS:
#models {height: 100px; background: red;}
#latestInner {height: 200px; background: green;}
#make {height: 150px; background: blue;}
FIDDLE:http://jsfiddle.net/uwsJH/7/
答案 0 :(得分:2)
你的问题是确定范围。
试试这个小提琴:
i=0;
$('#latestInner, #make, #models').each(function() {
// var i = 0; <--- wrong scope
var h = $(this).outerHeight();
i = i + h;
});
alert(i);
答案 1 :(得分:1)
因为i是局部变量。尝试i = 0,而不是var i = 0
答案 2 :(得分:1)
试试这个:
var i = 0;
$('#latestInner, #make, #models').each(function() {
var h = $(this).css("height");
i = i + h;
});
答案 3 :(得分:0)
您不需要每次都初始化var i
......您可以这样做:
var i = 0;
$('#latestInner, #make, #models').each(function() {
var h = $(this).outerHeight();
i = i + h;
//Or simply
i = i + $(this).outerHeight();
});
alert(i);