2011-11-09 94 views
0

我有一個頁面,其中發生以下情況:這個佈局問題如何解決?

  1. 某些東西被呈現。靜態內容和內容意味着要用JavaScript加強。
  2. 一些div通過$()
  3. 中的jquery進行插件增強,其中一些第三方腳本測量了他們將內容放入的div,以便他們知道如何呈現它。
  4. 與此同時,隨着其他div的增強,有時頁面會變得足夠長以至於出現滾動條。這意味着頁面變得更薄,插件所做的測量現在不正確。
  5. 一些div增強了錯誤的寬度。
  6. 醜!

如果我調整瀏覽器的大小,所有內容都會「捕捉」到它應該在的位置。

我可以看到2個我不喜歡的解決方案。

  1. 以某種方式強制瀏覽器在每次增強後重新排列所有內容。
  2. 強制垂直滾動條。 http://ryanfait.com/resources/forcing-vertical-scrollbars/

這是一個相當普遍的問題。還有其他的技巧或建議嗎?

+1

我會說強制滾動條 - 更少的頭痛。 – swatkins

+1

一個令人毛骨悚然的方法是在加載所有內容後觸發調整大小: $(window).trigger('resize'); – MrGrigg

回答

1

KISS方法:強制垂直滾動條在那裏。

忘了提,你也可以簡單地使用:

html {overflow-y: scroll;} 
1

你可能會迫使滾動條總是出現在CSS,或者你可以設置你的jQuery代碼執行時,頁面完全加載,而不是當DOM準備就緒,下面的例子:

$(window).bind("load", function() { 
    // code here 
}); 

這可能會導致「抽筋」的內容被呈現,則作爲腳本配置它的視口大小拋去。

就個人而言,我只是強制滾動條。無論如何,大多數遊客甚至都不會注意到它始終在那裏。