我不认为这就是 PHP 的目的......也不是那样工作的。
我不会故意延迟加载时间,所以仅仅为了视觉效果而使用 jquery .load() 是不好的做法。如果您只是想要在不同时间加载部件的视觉效果,您可以执行以下操作:
- 在头部添加以下脚本。我会在您的样式表之后或之前添加它。
var thehtml = document.getElementsByTagName('html')[0];
thehtml.className = 'loading';
function hasClass(ele,cls) {
return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
function removeClass(ele,cls) {
if (hasClass(ele,cls)) {
var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
ele.className=ele.className.replace(reg,' ');
}
}
window.onload = function() {removeClass(thehtml, "loading")}
- 为 .loading 类设置样式:
.loading #header,
.loading #sidebar {opacity: 0}
#header,
#sidebar {opacity: 1; transition: all 3s ease-in-out;}
一旦加载类被删除,这将导致标题和侧边栏淡入。如果您的中间内容包含所有图像,您可以使用像lazy karl 这样的“惰性加载器”。 http://www.karlsteltenpohl.com/blog/,56,
总的来说,我认为所有延迟加载插件都对性能不利,因为您必须依赖滚动事件,这意味着每次用户滚动页面时 javascript 都会运行一个函数。
此外,如果您想更好地控制“加载”的时间和顺序,您可以在 window.load 函数中使用 setTimeout() 让元素在不同时间加载。
如果您选择此解决方案,将会涉及更多 CSS,这将取决于您的个人布局以及您的编码方式。