jQuery 在站点/内容加载后淡入淡出?

标签 jquery html jquery-plugins load fade

是否有任何教程或插件可以让网站在正确加载后淡入 View ,以限制任何不和谐等,从而使内容基本上流畅显示?

我想如果它只是一个特定的区域会更容易,因为页眉或页脚已经被缓存,从以前的页面...

例如带有各种缩略图的投资组合页面,它们只有在准备就绪时才会流畅显示。

这可以做到吗?

感谢您的帮助:)

最佳答案

首先,要注意一点:一般来说,网页设计人员会花费大量时间来尝试改善可感知的页面加载时间,以尽可能快地显示内容。这积极地以另一种方式进行,在一切准备就绪之前呈现一个空白页面,这可能并不理想。

但如果它适合您的情况:

因为所有可见的东西都将是 body 的后代,您可以加载隐藏的 body 然后淡入。为没有 JavaScript 的用户提供回退很重要(通常至少少于 2% according to Yahoo ,但仍然如此)。所以沿着:

(Live Copy)

<!DOCTYPE html>
<html>
<head>
<title>Example</title>
<!-- This next would probably be in your main CSS file, but shown
     inline here just for purposes of the example
-->
<style type="text/css">
body {
    /* Hide it for nifty fade-in effect */
    display: none;
}
</style>
<!-- Fallback for non-JavaScript people -->
<noscript>
<style type="text/css">
body {
    /* Re-displays it by overriding the above */
    display: block;
}
</style>
</noscript>
</head>
<body>
...content...
<script src="jquery.js"></script>
<script>
// This version runs the function *immediately*
(function($) {

  $(document.body).fadeIn(1000);

})(jQuery);
</script>
</body>
</html>

脚本部分的几个变体,具体取决于您希望淡入发生的时间:

等待“就绪”事件:

Live Copy

// This version waits until jQuery's "ready" event
jQuery(function($) {

  $(document.body).fadeIn(1000);

});

等待 window#load 事件:

Live Copy

// This version waits until the window#load event
(function($) {

  $(window).load(function() {
    $(document.body).fadeIn(1000);
  });

})(jQuery);

window#load 在页面加载过程中很晚 触发,在加载所有外部资源(包括所有图像)之后。但是你说你想等到所有东西都加载好,所以这可能就是你想要做的。它肯定会让你的页面看起来更慢......

关于jQuery 在站点/内容加载后淡入淡出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8076365/

相关文章:

javascript - 使用 jquery $.ajax 构建 WSDL 信封并进行调用

jquery - HTML 表格中堆叠和分组的条形图

javascript - 将html div标签排列到CSS中的空白区域

jquery-ui - jquery 选择列表删除项目

javascript - 范围输入逐渐改变颜色

jquery - 在 JQuery 1.4.2 .ajax 中转换 JSON 错误

javascript - 如何让一个元素只粘在它的容器顶部

javascript - 输入文件 - 如果未更改,请保留以前的文件

javascript - 为什么占位符在 IE8 中不起作用?

javascript - 在 jQuery 中每 5 秒调用一次函数的最简单方法是什么?