2011-10-11 29 views
2

我有一個網站,有一些激烈的圖形,和連接速度慢的人可能需要下載時間。當他們的瀏覽器正在下載時,他們有表單選項。很多時候他們會填寫表格並提交。什麼是最簡潔的方式來禁用回發控件,直到頁面完全加載?

這會導致事件驗證問題,因爲頁面未完全加載。我可以想出很多方法來解決這個問題。我可以返回並禁用每個控件,然後在加載頁面時編寫javascript以啓用這些控件客戶端。

我也看了看blockui,但它會阻止整個頁面或只是一個div。我正在尋找一些東西,我可以堅持在我的主頁上,忘掉它。

任何想法?

回答

2

看起來正確的方法是事後加載強烈的圖形,以便用戶在呈現關鍵DOM元素後仍然可以提交表單。 (我假設它不是非常重要的形式被提交之前,所有的圖像加載?)

您可以通過使您的圖像做這個很容易被裝載上divbody元素基於CSS的背景,根據一個特定的類,像這樣:

body.loaded {background: black url("http://us.battle.net/sc2/static/images/layout/body-bg-baked.jpg") center top no-repeat;} 

然後讓下面的代碼在頁面加載後添加該類:

$(window).load(function() {$('body').addClass('loaded');}); 

它不應該產生在裝載任何顯著放緩的圖像,但它會允許所有頁面的DOM元素和JavaScript在需要時下載這些圖像的同時運行。

jsFiddle example

+0

這是我的整個網站的主題,這是大約2mb的圖形。視頻遊戲網站,所以它有高端圖形。我希望他們儘快加載。我正在尋找一些可以使用jquery選擇器禁用所有按鈕的JS,然後在dom完成時重新啓用它們。 – bladefist

+0

@bladefist:IMO,即使一個視頻遊戲網站應該功能正常,而用戶正在等待2mb圖形下載。究竟是什麼導致了驗證問題?看起來你應該能夠構建你的頁面,即使圖片還沒有加載,事物的行爲也是正常的。 – StriplingWarrior

相關問題