我通過$(".test")獲取到class是test的元素集合,然后通過$(".test").each(function(index ele){ $(ele).css("height") }); ? 獲取到每一個的元素的高度,之后再獲取到其中height最大的值,然后進行再次進行遍歷,將這個最大的height設置給每一個元素。代碼如下://此內容稍后添加到自定義js中 window.onresize = function(){setAdvantageHeight();} setAdvantageHeight(); /*設置高度 ? 我們的優勢*/ function setAdvantageHeight(){ var maxHeight = 0; var $list = $(".advantage_content"); //clear $list.each(function(index,ele){ $(ele).attr("style",""); $(ele)[0].offsetwidth; }); setTimeout(function(){ //getMaxHeight $list.each(function(index,ele){ var height = parseInt($(ele).css("height").split("p")[0]); maxHeight = maxHeight>height ? maxHeight:height; }); //setHeight $list.each(function(index,ele){ $(ele).css("height",maxHeight); }); },0); }如果我不使用 setTimeout阻斷一下,當我重復進行刷新的時候就會出現獲取大的height值不正確,并沒有加上其中css設置的padding。我用的是chrome我在書上看的說的是js調整元素的css屬性之后,瀏覽器會重新渲染網頁,那么當我第一次將元素的style設置為""的時候,網頁會在我每次設置一個元素之后都重新渲染一遍網頁,這樣的話我獲取到的height就不會有問題,可是為什么還是出了問題?
jquery更改屬性 css渲染?
咕咕問
2016-06-06 12:35:14