2012-03-08 99 views
2

這樣做的最佳方式是什麼,以及如何使其適用於瀏覽器?例如,this post確定最佳做法是用不透明的div覆蓋您的內容,並在加載後淡出。但是如果客戶端禁用了JavaScript,該怎麼辦? JS的PHP檢測是不可靠的,如果有人使用不透明的div方法,你永遠不會在JS禁用的瀏覽器中看到內容。加載後頁面中的淡入淡出內容

想法?

+1

CSS規則如果你想使一些工作,PHP和是Javascript的獨立,你的選擇不好。 Flash,Silverlight,ActiveX和HTML5也是禁用和瀏覽器特定的。如果您有特定的要求來處理不支持Javascript的瀏覽器,那麼您應該放棄嘗試動畫。 – 2012-03-08 01:46:50

回答

4

您可以在css中將覆蓋元素的默認設置設置爲display: none,並使用document.write在頭中插入樣式標籤(在main css之後),將其設置爲顯示:block。如果禁用js將永遠不會被看到,因爲write將被忽略。

另一種方法是使用腳本在你的腦袋一類添加到HTML標記,如js_enabled,作出這樣

.overlay { display:none} 
.js_enabled .overlay { display:block} 
+1

我喜歡這個答案,但你能解決如何或者如果它可能處理JavaScript禁用淡入淡出效果?我的意思是,他們甚至有可能採用某種「」選項或其他什麼? – shanabus 2012-03-08 02:23:44

+0

淡入淡出JavaScript的唯一方法是使用css3動畫。但是,再次,沒有JavaScript,你怎麼知道頁面何時被加載? – levi 2012-03-08 02:28:02

+0

不認爲你可以動態地使用腳本禁用 – charlietfl 2012-03-08 02:30:42