1

在我开发的一些网站中,一旦页面加载,内容就会出现滑入/淡入动画。我为此使用 jQuery,但在动画之前必须隐藏内容。为了实现这一点,我首先使用了一个 css 规则#content{display:none}。然后在 javascript 块中的页眉中<script type="text/javascript"> $(function() { $('#content').css("display","block");
$('#content').stop().css("margin-top","100%").animate({marginTop:'100%'} ,1300).animate({ marginTop:'5'}, 700,"swing", function(){ $('#loading').fadeOut(); ...

如果我理解得很好,jQuery 代码会在页面加载后执行,并且以这种方式运行良好,但存在一个问题。如果用户没有 javascript 支持,则页面将保持空白,因为隐藏了 css 内容。此外,谷歌网站管理员工具显示空白页预览可能是因为它们不执行 javascript(jQuery) 代码,而且由于相同的 css 规则,Safari 网络浏览器的热门网站页面也带有空白页预览。因此,为了完全支持非 javascript 浏览器,我删除了 css 规则,而不是使用 javascript 代码来隐藏内容<script type="text/javascript">document.getElementById("content").style.display="none"; document.getElementById("loading").style.display="block";</script>仅适用于具有 javascript 支持的用户,但是如果互联网连接太慢,首先会像在普通页面中一样加载内容,一旦加载,浏览器就会隐藏它并执行动画。这很烦人,因为这样动画会影响用户体验而不是改善它。你开始阅读页面,突然页面消失并滑入......你可以在这里看到结果 - http://sky-camp.com/en/paragliding-courses.html

我想念什么?我使用 javascript 来隐藏内容而不是 jQuery,以便在加载 jQuery 插件之前尝试隐藏内容,但它没有按我期望的方式工作。任何帮助将不胜感激

4

3 回答 3

0

这只是我的看法...

但我并没有真正为人们禁用 javascript 做准备。正如有人已经说过的那样,谁仍然这样做?如果他们这样做,网络体验会很糟糕。为什么不添加一个绕过整个功能并仅显示内容的 noscript 标签。因此,如果有人在没有 JS 的情况下访问该站点,他们只会正常看到该页面。

我觉得人们发布的所有建议都非常粗俗,根本不是好的做法。

于 2013-08-07T23:41:05.367 回答
0

尝试在头脑中做一些事情,例如:

<script>document.write('<style>#content{display:none;}</style>');</script>

好久没用了,以前经常用。

于 2013-08-07T21:58:39.200 回答
0
<code>
$( function(){$('#content').css("display","none"); });
</code>

当您的页面完全收费时:

<code>
$(window).load(function() {
$( function(){$('#content').css("display","block");
});
</code>
于 2013-08-07T21:59:00.630 回答