2013-01-17 42 views
0

我有一些jQuery在Chrome瀏覽器中沒有任何運行,但IE瀏覽器一直在窒息。我有一個靜態列的靜態列的表通過絕對定位。我想確保它們的父行是垂直擴展的,所以我有這段代碼來擴展它們。它的工作原理,但它在IE中需要FOREVER。 我可以改變什麼來提高IE的性能?設置.height()嵌套的jQuery永遠在IE中,但不是鉻

$("#grdSchedule tr").each(function(i){ 
     $(this).find(".stickyCol").height($(this).height()); 
    }); 

編輯:.height()是問題

這是我迄今爲止嘗試,但它未幫助很大的。

var stickyCols = GetStickyColumnCount(); 

    $("#grdSchedule > tbody > tr").each(function(i) { 
     thisRow = $(this); 
     thisRow.children().slice(0, stickyCols).height(thisRow.height()); 
     //thisRow.children(".stickyCol").height(thisRow.height()); 
    }); 

似乎每次調用height()都是什麼在IE中拖拽它。我打算爲一些css幫助提出一個新問題,所以我不需要首先運行這個腳本。但如果任何人都可以添加任何東西來加速在IE中這將是真棒!

如果有人想知道,對於我的生產數據的巨大丑陋網格,鉻在2.5秒內運行,其中IE需要20秒。

我想,也許我應該嘗試用CSS和JavaScript不

+0

去嘗試一個標準的JavaScript循環,但我討厭有我的網頁上的所有額外的代碼 – jumpdart

+1

如果'.stickyCol'是一個直接的孩子,那就用'.children()'代替。並且,緩存'$(this)'。你也應該把一個例子[小提琴](http://jsfiddle.net/)放在一起,反正這種依賴於瀏覽器的優化更好地嘗試它們。到目前爲止,您的數據的大小對我們來說是未知的。我可以有一個「

」,有一百萬行或一行只有兩行 – Alexander

+0

是的這張表的數據是瘋狂的,需要一段時間才能做出相關的小提琴。想象一個時間表,左邊是一堆粘性員工列,右邊是每個單元格中的一組瘋狂日程詳細信息html,其中每個非粘性列都是日期。哦,是的,還有數百名員工......所以這是一張充滿了許多元素的大桌子。如果建議的解決方案不要修理我,那麼今天晚些時候會生成一個小提琴 – jumpdart

回答

1

試試這個解決這個問題,

$("#grdSchedule tr .stickyCol").height(function(i,height){ 
    return $(this).closest('tr').height(); 
}); 
相關問題