2011-04-04 226 views
0

我有一個HTML文檔,其中正文包含數十個div,全部按順序列出。 (這是一個小截圖的佈局)。HTML-在頁面加載之前隱藏Div?

每個div的外觀和佈局由CSS處理。

我希望有選擇地隱藏一些div,具體取決於某些狀態值。已經創建了一個javascript函數「hideSomeDivs()」來執行此操作。 (該函數遍歷所有div,根據需要將每個元素的style.display屬性設置爲「none」。)

問題:調用hideSomeDivs()函數會太晚:頁面已經加載並且視覺更改將不會顯示。原始佈局保持不變。

問:問/我在哪裏可以調用這個函數,這樣受影響的div將被隱藏,並且所有的佈局都相應地調整了?謝謝。

進一步的信息:

  • 從JavaScript交互

    開,所述頁面是靜態的(即,沒有可用的服務器側處理)。

  • 另外,我試圖避免任何「彈出」元素顯示/隱藏頁面加載並繪製到窗口後。

  • 此外,我需要對佈局進行重新評估和重新繪製。例如如果我隱藏div 1到4,但顯示div 5,那麼div 5應該出現在頁面的頂部。

回答

0

在您的HTML代碼中放入一個默認隱藏div的樣式代碼。這將比Javascript更早地評估。

+0

感謝您的反饋。請看我修改後的帖子,以及我對slugster的迴應。乾杯。 – SirRatty 2011-04-04 03:12:27

1

反過來想一想 - 默認情況下隱藏所有div,然後根據需要使用javascript顯示它們。

當然,如果您有一個構建頁面的服務器端語言(即PHP,ASP.NET),那麼您可以消除對JavaScript的需求,然後您可以正確設置其隱藏狀態以開始。

+0

slugster,謝謝你的迴應。不幸的是,我不能在這裏使用PHP或任何其他服務器端腳本。如果我在默認情況下通過CSS隱藏div,然後通過javascript顯示它們,那麼原始格式還不會被尊重嗎?也就是說,原來是頁面第五個元素的元素仍然會出現在原始位置? (這是不需要的行爲,我需要重新評估和重新繪製佈局。) – SirRatty 2011-04-04 03:11:56

+0

您仍然可以通過使用Javascript來操縱DOM來將div重定位到任何位置。 – Rasika 2011-04-04 03:29:47

+0

Rasika,我沒有手動重新定位div。所有的佈局都是通過CSS完成的(因爲整個網站的複雜性和統一性的原因,需要這樣做。)乾杯。 – SirRatty 2011-04-04 03:35:58

0

你可能想要在body元素的onload事件中調用「hideSomeDivs()」函數。

+0

我認爲他已經這麼做了。但是這隻在頁面加載後才被評估,他希望消除延遲。 – Rasika 2011-04-04 03:31:38