jquery,隐藏内容直到加载
我目前正在使用此脚本淡化页面转换:
$(document).ready(function() { $(window).bind("unload", function() {}); $("body").css("display", "none"); $("body").hide(); $("body").fadeIn(2000); $('a.fade1, a.fade2, a.fade3, a.fade4').click(function(event) { event.preventDefault(); linkLocation = this.href; $("body").fadeOut(700, redirectPage); }); function redirectPage() { window.location = linkLocation; } });
当内容在缓存中变为alred时,这就像一个魅力,但是当一个图像需要加载时,它会暂时出现然后被隐藏和淡入
所以我需要的是一种方法来隐藏内容,直到它完全加载,只有在它之后让它消失
希望有人可以帮助我,提前谢谢
默认情况下使用CSS隐藏元素,然后在您喜欢时显示它。
CSS
body { display: none; }
jQuery的
$(window).load(function() { // When the page has loaded $("body").fadeIn(2000); });
当load和所有子元素已完全加载时,load事件将发送到元素。
请参阅load事件 。
您也可以考虑用单个类替换您的“fadeX”类,例如“淡入淡出”
为什么不使用… CSS的所有初始CSS?
然后你的js只需要担心调用fadeIn()
。 这种方式当浏览器呈现标签时,它已经知道要隐藏它,所以在你
fadeIn()
之前它根本不会显示。
我实际上不会使用CSS开始,这就是原因。 如果由于某种原因JS无法在页面上加载,它也将无法实际显示您的页面内容。 我会在脚本中保留所有内容并写入DOM,因此如果失败,则不会发生任何事情。
每张图片的CSS:visibility:hidden;
jQuery.ready:visibility:visible; (或使用淡化或任何你喜欢的)。 为什么visibility
而不是’显示’? 当项目开始加载时, display
将在页面上产生大量“跳跃”和“故障”。
此外,您可以尝试使用jQuery的加载方法而不是ready
。