2014-03-19 164 views
2

我做了一个脚本,将一组li元素的高度更改为最大内容的高度。更改浏览器宽度的li高度调整大小

代码工作正常,但它也应该通过调整浏览器宽度来工作。

我需要知道为什么它不通过更改浏览器宽度来重新加载?

这里是我的代码:

//changes slider hight to the hight of the li with the most content 
function heightChange() { 
    var max = -1; 
    $(".feedback li").each(function() { 
     var h = $(this).height(); 
     max = h > max ? h : max; 
    }); 
    $(".feedback li").css("height", max); 
}; 

// start by open site 
heightChange(); 

// load function by resizing of the browser window 
$(window).bind("resize", function(){ 
    heightChange(); 
}); 
+1

,你可以发布fiddlejs丝毫HTML和JavaScript? 如果改变宽度而不是高度会发生什么? – user3401335

+0

为什么你认为它应该在第一次函数调用后发生?你在第一次通话中设置了'max = h',然后'h'不会改变 – fcalderan

+1

对我来说似乎绝对很好,小提琴:http://jsfiddle.net/J7RUt/ – SW4

回答

1

你需要重新设置之前,你的身高复位。 Demo

$(window).on("resize", function(){ 
    $(".feedback li").css("height", "auto"); 
    heightChange(); 
}); 

否则将height()只返回指定的值;

此外,.on()是绑定的首选方法和事件,如jQuery的1.7

+0

非常感谢,就是这样! ;-) – user3436755

相关问题