2014-03-19 171 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

相關問題