我想向用户显示他想要访问的文档正在加载但尚未准备好.
我想在满载时显示网页.
我用
$(document).ready(function(){});
Run Code Online (Sandbox Code Playgroud)
准备好文件.我应该怎么办?
首先要问的是,为什么页面加载速度太慢,以至于您觉得需要加载横幅,并尽一切可能来解决这个问题.
如果由于相关网页的性质而无法解决问题,那么下一个考虑因素是确保只有启用了JavaScript的用户才会显示"正在加载"横幅(因为我们稍后会使用JavaScript将其删除,所以将它放在那里然后如果它们没有JavaScript则不删除它会有点意思.这可能是该document.write语句的少数有效剩余使用之一(并且仅当您不使用XHTML时,因为它在XHTML中无效):
<body>
<script>
document.write("<p id='loading'>Loading...</p>");
</script>
Run Code Online (Sandbox Code Playgroud)
...你用CSS设计的风格,大概是:
#loading {
position: absolute;
left: 0px;
top: 0px;
background-color: #ddd;
/* ... */
}
Run Code Online (Sandbox Code Playgroud)
然后在你的ready处理程序中删除它:
$('#loading').remove();
Run Code Online (Sandbox Code Playgroud)
如果您正在使用XHTML(或者您根本不想document.write在原则上使用),您可以执行类似的操作,而不是document.write:
<body>
<script>
(function() {
var p = document.createElement('p');
p.id = 'loading';
p.innerHTML = "Loading...";
document.body.appendChild(p);
})();
</script>
Run Code Online (Sandbox Code Playgroud)
实例(在Windows上的IE6/7/8上测试;在Windows上测试Safari;在Linux和Windows上测试Chrome,Opera和Firefox.)
| 归档时间: |
|
| 查看次数: |
6961 次 |
| 最近记录: |