2011-03-04 32 views
0

當添加JQuery來隱藏類時,它當然會等待頁面加載,然後隱藏類,同樣的事情'addClass'。在頁面加載時,它必須有更好或更快的方式才能「加載」。任何人都知道任何想法?我給我的網站下面的JQuery腳本的鏈接,看看他們在行動:JQuery即時addClass或隱藏類

隱藏子過濾器:Link to example of my script to hide sub filters (notice left navigation filters)

if(jQuery('.refinement_category_section').length){ 
    jQuery('.refinement_custom_category_section').hide() && 
     jQuery('.refinement_filter').hide(); 
} 

jQuery(document).ready(function(){       
    if(jQuery('.refinement_category_section').length){ 
     jQuery('.refinement_custom_category_section').hide() && 
     jQuery('.refinement_filter').hide(); 
    } 
}); 

OR

添加一個類:Link to example of my script adding Class (notice left navigation filters)

$('.refinement_brand_section').parent().addClass('filterresults');

+0

使用css ... .className {display:none; }。 – Joseadrian 2011-03-04 20:57:16

+0

我是唯一一個關心輔助功能的人嗎?漸進式增強意味着,如果用戶不(不能)使用JavaScript,它不會被破壞。通過javascript隱藏它們,而不是透露它們,是要走的路。 – tvanfosson 2011-03-04 21:03:47

+0

tvanfosson - 我同意你的看法。然而,由於贊助商要求擁有離線功能和客戶端決策過程樹的組合,我知道許多管理後端僅使用javascript作爲默認功能。正如我所說,我得到你,但它是非常具體的用例,我不覺得你總是可以授權可訪問性問題(本身 - 它們應該適應),以反對業務需求。這是我的很多項目中一直存在的問題,所以我確實感覺到了這一點 – 2011-03-04 21:44:49

回答

1

後改變它用Firebug,看來這個問題是要載入圖像的數量。我的建議是在應用您的樣式更改或頁面上的項目數量較少(或兩者)後,使用javascript爲您的項目動態加載圖片。這將導致非JavaScript用戶的降級但仍然功能的界面。對於支持JavaScript的瀏覽器,您可以調整加載的圖片的方式和數量,以實現更好的效果。

您還應該爲小的界面元素使用精靈,以便下載單個圖像並使用CSS來顯示它的各個部分。將您的JavaScript文件和樣式表合併到您的製作網站中也會有所幫助 - 您有20多個js文件和13個樣式表,每個樣式表都需要單獨的請求。您可能想要運行YSlow並遵循其他建議。

+0

謝謝我會考慮這樣做 – ToddN 2011-03-04 22:24:04

1

,你可以添加CSS規則來隱藏這些類,然後jQuery的負載

.refinement_category_section, .refinement_custom_category_section, .refinement_filter { 
    display: none; 
} 
+0

然後,如果存在javascript錯誤(如加載Google Analytics(分析))或用戶正在使用屏幕閱讀器,則它們將不會顯示。 – tvanfosson 2011-03-04 21:01:22

+0

我不認爲有一種方法可以在不等待DOM準備好處理程序的情況下執行您想要的操作。 – yoavmatchulsky 2011-03-04 21:09:34

+0

@yaov - 通過簡單地減少請求數量並保持接口可訪問性,您可以做很多改進。 – tvanfosson 2011-03-04 21:14:51