【发布时间】:2018-07-19 21:13:26
【问题描述】:
我正在尝试使用常规方法创建一个元素,并在页面完成加载后使用 jQuery 隐藏它。
你可以在很多地方看到这种基本方法,但这里的代码还是:
我想在页面加载时显示的图像的 DIV,就在 <body> 标记之后:
<div class="pleasewait"></div>
要在页面加载后从屏幕上删除图标,在 HTML 页面的 HEAD 部分:
$(window).bind("load", function() {
$(".pleasewait").fadeOut("slow");;
});
CSS 来设置页面中心的图片样式:
.no-js #loader { display: none; }
.js #loader { display: block; position: absolute; left: 100px; top: 0; }
.pleasewait {
position: fixed;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
z-index: 9999;
background: url(img/ajax-loader.gif) center no-repeat #fff;
}
我的 PHP 页面上的导航栏加载正常,但在页面完全加载之前,<body> 部分上没有显示任何内容(包括等待服务器调用完成并形成页面的其余部分)。
虽然还有其他更好的方法可以实现我的目标,但我真的很想了解我在这里做错了什么。
【问题讨论】:
-
“但在页面完全加载之前, 部分不会显示任何内容” - 这不正是您想要的吗?为什么还要在上面放置一个元素?不清楚你在这里实际问的是什么。
-
或者你的意思是你的 .pleasewait 元素本身没有显示?好吧,如果您将其放入外部文件中,那可能是由于之前不可用的 CSS。这是您真正应该内联 CSS 的情况之一。
-
我的意思是,一旦页面加载,pleasewait 元素就会与页面的其余部分一起显示(然后消失)。我无法让它在页面的其余部分之前加载。
-
好吧,那就反过来了。不过,尝试解决这个问题的第一种方法是:“这是你真正应该内联 CSS 的情况之一。” 如果这没有帮助,那么你可能有更多的服务器如何将文档返回给浏览器的问题,然后您将进入脚本和/或 Web 服务器级别的输出缓冲的有趣世界。
标签: javascript jquery html css