[英]running a script before the page is displayed
我已经构建了一个网站,当页面加载时进行一系列计算(基本上它决定了用户的屏幕大小,然后分配所有页面图像大小和位置并应用它们)。 我遇到的问题是连接速度较慢,这是可见的(所有图像都将从角落开始,然后调整大小并重新定位)。 这不是一个大问题,但它有点像眼睛。
我正在使用jquery执行此操作,并且所有计算都发生在$(document).ready
,之前有什么事情要做吗? 或者我应该使用预加载器? 什么是好的(queryLoader不适合我,而我能找到的所有其他都只是用于预加载图像)。
我们欢迎所有的建议!
如果你只是担心图像,那么在它们被重新定位之前,如何将它们设计为不可见(显示:无)?
为了扩展Joe的答案,最简单的方法是隐藏所有图像,直到它们加载完毕。 像这样的事情:
$(function() {
$('img').hide();
$('img').load(function() { $(this).show() });
});
你甚至可以用CSS预先隐藏它们,但除非上面的方法对你来说有点闪烁,否则我不建议这样做。
如何为主页面和加载器页面使用iframe
只包含您需要的js。 由于两者都来自同一个域,因此您不必担心iframe上的跨域限制。
我在iframe
环境中遇到了这个问题。 但目前我使用以下解决方法来避免眼睛:
<style>
.load_class{
display:block;
position:absolute;
top:0;left:0;
background-color:#fff;width:100%;height:100%;
z-index:9990;
text-align:center;
}
</style>
<script>
setTimeout("loadingComp()",15000);
function loadingComp(){
jQuery("#i_init").fadeOut();
}
</script>
<div id="i_init" class="load_class">
<img src="images/loading.gif" alt="Loading..."/>
Loading...
</div>
但这是一个硬编码解决方案。 一个div
将在15秒后淡出:(
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.