繁体   English   中英

在另一个脚本之前等待完全加载的脚本的正确方法是什么

[英]What is the proper way to wait a script loaded completely before another

我正在制作一个由几个部分划分的网站

<div id='section-1' class='section'>web content</div>
<div id='section-2' class='section'>web content</div>

我的网页上有十个部分,当 javascript 准备好文档时,每个部分的高度都设置为用户窗口高度

$('.section').height($(window).height());

我的网页上的某些效果(如幻灯片)需要计算出该部分的高度才能正常工作。 因此,我总是在准备好文档时使用类似的方法作为解决方案。

setTimeout(startslideshow,1000);
setTimeout(startanimations,1000); ...etc  

在幻灯片代码开始之前确保节高度是用户窗口高度,因为一旦加载网页,节就不能立即更改为用户窗口高度,这将在我的幻灯片代码中产生严重问题,例如错误的计算位置。

因此会有一种情况,在页面加载后,大约一秒钟一切都搞砸了,在一切都可以正常工作之前,我怎么能避免被用户看到呢? 我尝试$(document).hide()$('html,body').hide() ,然后在一秒钟后淡入,但我遇到了其他奇怪的问题,尤其是在 ipad 上,我的固定位置顶部导航栏用户滚动时将始终变为“不固定”。

由于我是自学者,我担心我的方法不典型。 我想知道真正的web程序员在将他的网页分成不同的部分并将其高度设置为窗口高度时通常会采取什么方式,然后确保取决于部分高度的其他效果正常工作并避免等一下高度变化?

您应该查看链接异步调用。

不推荐依赖计时器,因为脚本在不同的浏览器、硬件等上可能以不同的速度执行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM