我在 CSS 和一些 jQuery 中有一些元素,display:none;
它们会延迟淡入淡出。
如何处理关闭了 javascript 的浏览器?有没有办法<noscript>
改变这些元素的显示值?
我在 CSS 和一些 jQuery 中有一些元素,display:none;
它们会延迟淡入淡出。
如何处理关闭了 javascript 的浏览器?有没有办法<noscript>
改变这些元素的显示值?
没有脚本就无法设置 CSS 值,但可以将默认值设置为可见状态,并且在脚本中执行的第一件事是立即将元素设置为不可见状态,然后再将其淡化。
您还可以查看不需要 JavaScript的 CSS 动画http://www.w3.org/TR/css3-animations/ ,但它们确实需要现代风格的浏览器http://caniuse.com/css-animation
如果您使用modernizr,它会将类插入js
到您的<html>
标签中(当然,如果Javascript正在运行),并且具有HTML5样板文件提出的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">
,并且您可能会在您的 css 中包含某些东西(您担心被暴露,通常 JS 隐藏)默认使用它作为父选择器来隐藏它。
.no-js .whatever, .no-js .someOtherStuff { display: none; } <!-- just an example -->
设置 css 属性以显示元素,然后如果启用了 javascript,则使用 javascript 关闭/隐藏元素。但是,我不喜欢这样做,因为启用了 javascript 的用户数量远远超过了没有 javascript 的用户。您不想强迫大部分用户等待页面加载所有元素,然后在他们已经在内容达到峰值时隐藏它们。
您希望以您设计的方式实际使用您的网页的用户能够获得最佳体验。Web 的 javascript、jquery 和其他库功能如此丰富,以至于没有 javascript 的用户习惯于无法获得 Web 开发人员想要的体验。如果我觉得我真的对没有 javascript 的用户情有独钟,我会将他们重定向到静态页面。他们和网络爬虫将一起玩得开心。