在我开发的一些网站中,一旦页面加载,内容就会出现滑入/淡入动画。我为此使用 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 插件之前尝试隐藏内容,但它没有按我期望的方式工作。任何帮助将不胜感激