2013-04-08 78 views
0

我知道「$(document).ready」會在導航器加載頁面上的所有內容後立即觸發。我的目標是在頁面中呈現一張大桌子,並在第一個「第n個」之後隱藏每一行。那麼,¿如何在渲染之前觸發JQuery實例,以避免「閃爍」表格和頁面的滾動?使用jquery隱藏表格行之前

我知道,我可以首先將表格的樣式顯示爲「可見:無」,但起初這不是「有效」的解決方案。

+0

爲什麼不只是最初獲取n行? – Dutts 2013-04-08 10:40:14

+0

我可以建議你動態地創建你的表格。 – 2013-04-08 10:41:25

+1

如果所有的行都隱藏起來,然後出現正確的行,它會看起來好像表正在加載而不是「眨眼」效果 – tpbowden 2013-04-08 10:41:49

回答

0

你一般不能這樣做,在客戶端方。 JQuery可以與DOM中的對象一起使用,這些對象可用(或將來可用 - 在初始文檔加載後)。

在這裏我看到兩個選項:。
一)極限的記錄在服務器端
B)做什麼號說Bogieman(加載它們隱藏起來,後來證明)=>這聽起來並不好因爲你可能正在加載大量的數據(通常)。

如果我正確理解你的問題:)

+0

我的想法是在渲染之前獲取「table」或「tr」元素可見性,而不是之後,但我不知道如何觸發它。所以我認爲你完全理解了這個問題。 – 2013-04-08 10:49:00

+0

我不知道在客戶端處理頁面生命週期的任何可能方式。即使你要創建一個等待你的表的JavaScript處理程序,並且以某種方式在處理過程中奇蹟般地捕獲它,在加載最初的行之後仍然無法阻止它(=最後,你會加載整個表再次)。 – Damb 2013-04-08 10:51:26

-2

$(document).load();可能是你要找的東西,這發生在$(document).ready()之前;它應該在元素呈現之前發生。

如果這不起作用,您可能希望查看ajax調用來加載,然後在頁面加載後呈現表格。

+1

*「$(document).load();可能是你想要的,這發生在$(document).ready()之前;」*不,它不。 '$(document).load();'什麼都不做。 '$(window).load(function(){...});'確實,但它在'ready'回調之後*。 – 2013-04-08 10:44:07