2011-03-15 38 views
0

我的網站上有幾頁使用JQuery和/或常規Javascript選項卡切換相當大的文本塊。在DOM觸發後渲染表單的隱藏部分

目前的表現很好,但我意識到隨着網站流量的增長,可能會出現退化。好的部分是,頁面內容的80%在一開始就不可見 - 用戶必須點擊某些內容才能看到其餘的內容。

是否有一種方法可以在加載20%時顯示頁面,並按其自己的速度完成其他加載? (僅供參考使用Javascript,但我是AJAX的完全新手。)時間差別可能只有十分之幾秒,但如您所知,這可能就是一切。 :)

回答

0

您可以在加載時渲染頁面的主要部分,然後使用Javascript或jQuery使異步回調將其餘缺少的部分加載爲隱藏的html元素。

連接到跨瀏覽器工作的DOM加載事件的最簡單方法是使用jQuery。這是一個使JS和DOM工作變得簡單的框架。他們在Docs page上有一些很好的教程。 到DOM已完成加載您使用

$(document).ready(function(){ 
    // Your code here 
}); 

並以exeute Ajax請求您可以使用ajax方法後,執行JavaScript代碼。文檔在解釋其工作方式方面做得很好。 然後,在成功回調中,您可以使用選擇器和其他方法將響應掛回DOM。 這裏有多種選擇:appendTo,prepend,prependTo,insertBefore,inserfAfter。你可以在我鏈接到的jQuery站點上找到這些方法的文檔。

0

你在正確的軌道上:AJAX是做到這一點的方法。基本方法是:

  1. 將每個隱藏項目移動到 其自己的部分。
  2. 編寫一個控制器 動作呈現這些 部分中的每一個。
  3. 裏面的主視圖,使用AJAX 調用這些行動 和結果(即 呈現的諧音)插入到頁面的相應 地方。

最後一步可能以不同的方式發生。如果您肯定用戶將採取最終揭示這些部分的操作,則可以在頁面加載時(即在$(document).ready(function(){...})內進行AJAX調用; )。或者,如果您願意讓用戶等待一段時間但減少服務器的負載,則可以在用戶採取行動時進行AJAX調用。

對不起,我沒有給出完整的代碼示例,但這應該給你整體策略(並指出你在哪裏看下)。