我在CSS中有一些display:none;
的元素,並且有些jQuery會在延遲時間中淡化它們。jQuery - 如果JavaScript被禁用會怎麼樣?
如何處理JavaScript關閉的瀏覽器?有沒有使用<noscript>
來改變這些元素顯示值的方法?
我在CSS中有一些display:none;
的元素,並且有些jQuery會在延遲時間中淡化它們。jQuery - 如果JavaScript被禁用會怎麼樣?
如何處理JavaScript關閉的瀏覽器?有沒有使用<noscript>
來改變這些元素顯示值的方法?
如果使用Modernizr的,它會插入類js
到您的<html>
標籤(如果JavaScript是運行過程中的),並具有HTML5 boilerpate提出的HTML結構:
<!--[if lt IE 7 ]> <html class="no-js ie6 ie"> <![endif]-->
<!--[if IE 7 ]> <html class="no-js ie7 ie"> <![endif]-->
<!--[if IE 8 ]> <html class="no-js ie8 ie"> <![endif]-->
<!--[if IE 9 ]> <html class="no-js ie9 ie"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!-->
<html class="no-js">
<!--<![endif]-->
默認情況下,你將有<html class="no-js">
,你可能有一些事情(你是擔心被暴露,通常JS隱藏s)在你的css中默認使用它作爲父選擇器來隱藏它。
.no-js .whatever, .no-js .someOtherStuff { display: none; } <!-- just an example -->
無論如何,由於我使用的是modernizr,所以這是最終的最佳選擇。使用'。no-js'顯示在某個特定時間消失的元素是解決javascript禁用問題的最佳方法。謝謝! – Jamesking56
很高興幫助詹姆斯!很高興你提起這件事,哈哈,我不得不考慮自己爲某些事情做這件事。 –
不能在沒有腳本的情況下設置CSS值,但可以將默認設置爲可見狀態,並且您在腳本中執行的第一件事情是在淡入淡出之前立即將元素設置爲不可見狀態他們。
你也可以看看CSS動畫http://www.w3.org/TR/css3-animations/不需要JavaScript的,但他們確實需要一個現代的ISH瀏覽器http://caniuse.com/css-animation
+1。讓腳本隱藏它們,如果腳本需要它們隱藏 – Bergi
感謝它通過隱藏元素首先在我的jQuery中的'$(document).ready'函數,然後運行我的動畫,以最小的閃爍工作。我認爲這會閃爍,但我想我沒有隱藏很多元素。儘管如此,仍需要在IE中進行測試。 – Jamesking56
@Jamesking56我隱約想起做類似的事情,如果你的腳本執行得夠早的話(如果onload太晚,可能在onload之前的
的腳下),你不會有任何閃爍。 –設置css屬性以顯示元素,然後如果啓用javascript,請使用javascript關閉/隱藏元素。不過,我不喜歡這樣做,因爲啓用了JavaScript的用戶數量遠遠超過了沒有JavaScript的用戶。您不希望強制大部分用戶等待頁面加載所有元素,並在內容已經達到峯值時將其隱藏。
您希望實際使用您的網頁的用戶按照您設計的方式使用,以獲得最佳體驗。該網站功能豐富的JavaScript,jQuery和其他庫,沒有JavaScript的用戶習慣於沒有獲得Web開發人員的體驗。如果我覺得我真的對沒有使用javascript的用戶有好感,我會將它們重定向到一個靜態頁面。他們和網絡爬蟲將一起玩樂。
想一想吧。腳本禁用時,如何在腳本標記中運行腳本? – asawyer
難道你不能把CSS覆蓋'noscript'標籤中的這些值嗎? – Chad
取決於。爲什麼你會淡入這些元素,而不是從一開始就看到它們? –