我想設置絕對定位項目的高度以匹配其容器元素的高度。問題是有數百個這樣的元素。標題中的標準代碼在Chrome中運行良好,但在IE中非常瘋狂。我應該如何緩解這個問題?.height(item.height())jquery在IE中速度太慢!備擇方案?
//Too SLOW in IE
var starttime = new Date().getTime();
$("#grdSchedule > tbody > tr").each(function(i) {
thisRow = $(this);
thisRow.children(".stickyCol").height(thisRow.height());
//thisRow.children().slice(0, 1).css('height', thisRow.css('height'));
});
var taskTime = (new Date().getTime() - starttime)/1000;
alert("cell height stretch: " + taskTime);
看來,如果只設置犯規SLOE它DOEN,大部分的高度,而是別的東西從.height設置高度()真的會導致IE嗆。
我已經嘗試.css(),而不是有點提升,但不是很多。
這裏是亂動小提琴:Fiddle AWAY!!!
的.css()肯定要快很多,但是你可以可能使這整個過程要快得多通過它,你循環之前分離的表,然後重新連接它時,你就大功告成了。 http://jsfiddle.net/hnZxn/2/ –
您還可以通過將'thisRow.height()'存儲在一個變量中來提高性能。 –
行高是否高度動態?你的腳本依賴於找出* computed *高度值,如果你可以忽略它(通過使用固定高度或預先計算的值),它應該是更快的方式。 – bfavaretto