2014-05-13 48 views
-1

我有一大堆下拉菜單的頁面,當你點擊其中一個鏈接時,它將取消隱藏圖片和一些文本。在頁面啓動時加載所有這些隱藏的元素會大大減慢頁面的速度。有沒有一種方法可以使下拉菜單中的內容僅在未被隱藏時纔會加載(單擊下拉菜單並顯示圖像/文本時)。有沒有辦法在頁面啓動時隱藏菜單加載中的所有元素?

非常感謝您的幫助!

+6

您可以發佈您的代碼,以便我們可以看到你在做什麼? – Anthony

+0

如果我是你,我會研究一下ajax: – dward

+0

優化你的頁面,減少隱藏信息的數量,縮小你的HTML到最低限度,然後*然後*如果它仍然很慢,請使用AJAX和/或'。 append()'按需加載它。 – Blazemonger

回答

0

如果你選擇一個AJAX的解決方案,然後用JavaScript的用戶關閉將無法看到一個菜單所有,使一個令人難以置信的無用的網站。解決這個問題的一種方法是將菜單的代碼放在DOM中的內容之後,請記住,需要特別注意使這種可訪問性功能像「正常」一樣工作,而這種反向佈局。

另一種選擇是使用AJAX加載菜單,然後選擇將其保存在瀏覽器的脫機存儲中,以便在將來頁面上加載速度更快。在<noscript>標記中提供一個非常基本的菜單,其中包含指向非JavaScript朋友的完整站點地圖的鏈接。

下面是使用AJAX一個基本的例子:

$.ajax({ 
    url: "menu.html" 
}) 
    .done(function(html) { 
    $("#menu").append(html); 
    }); 
相關問題