的速度我讀了一大篇:http://www.learningjquery.com/2010/05/now-you-see-me-showhide-performance禁用樣式表來增加顯示/隱藏的div
我引述其作者:
「爲了好玩,我想,」如果有什麼,而不是操縱每一個DOM節點和改變的東西,我們只是想與樣式表?「那裏有速度的改進嗎?我的意思是,上面基準測試的方法對於日常使用來說是非常快的,但是如果我想在一個頁面上顯示和隱藏一個頁面上有10,000個節點?如果我可以操作樣式表,我可以避免整個開銷,讓我告訴你,這種方式充滿危險
當然,在操作樣式表時,會出現跨瀏覽器問題,因爲jQuery沒有爲您抽象它們。首先,我嘗試瞭解是否可以使用jQuery將CSS樣式標籤添加爲字符串,但在瀏覽器中得到的結果不一致。然後我嘗試使用JavaScript創建樣式表節點和類,但是有不同的API,結果太慢而無法證明。最後,我試圖以編程的方式嘗試這樣做,結果我只是在文檔的頭部寫了一個帶有類的樣式標籤。以編程方式創建樣式表的速度太慢,但如果它已經存在,那麼爲它提供一個ID並使用它的disabled屬性是微不足道的。
HTML:
<style id="special_hide">.special_hide { display: none; }</style>
<!-- ... -->
<div class="special_hide">Special hide DIV</div>
然後在javascript ...
的JavaScript:
$('#special_hide').attr('disabled, 'true');
和BAM,您剛纔顯示的元素都與一類「special_hide」的。要再次隱藏所有的,只是做...
的JavaScript:
$('#special_hide').attr('disabled', 'false');
他們現在所有隱藏的。所有瀏覽器的JavaScript處理總時間爲0-1ms。你正在做的唯一的JavaScript是改變一個屬性。 「
**我的問題是:我怎麼可以創建一個‘special_show’培訓班裏加入我的div到類,然後實現該類顯示他們
喜歡的東西
<style id="special_show">.special_show { display: default; }</style>
**?
可以重複[可以jquery操作文檔的全局css定義?](http://stackoverflow.com/questions/1348741/can-jquery-manipulate-the-global-css-definition-of-the-文件) –
嗨葛瑞格爾,我要的是能夠使類「special_show」,並設置我的所有div回顯示原來的預期值。我不明白這個問題是如何相似的,但我可能不明白,是網絡編程的新手。 –