gpt4 book ai didi

javascript - jquery .ready() 函数等待多长时间?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:36:08 25 4
gpt4 key购买 nike

我有一个页面,php 将在该页面上输出一个相当大的 div,其中有很多组件。处理该 div 的 JS 几乎是瞬间开始的,但是存在与加载 bigDiv 和处理它的脚本相关的时间问题。

所以,我应用了这样的代码在 ready() 上处理它

var bigDiv = $(document).find('#bigDiv');
bigDiv.ready(function{
//some code here
});

现在我的问题是,如果bigDiv需要很长时间才能出现,那么ready()函数要等多久?如果 bigDiv 根本没有出现怎么办?

所以为了避免脚本等待它,我应用了超时,

因此我选择了另一种方法:

var waitTimer = 0;
var lodTmout = 2000;
function chkDataLod(){
var bigDiv = $pH(document).find('#bigDiv');
if(bigDiv.length > 0){//find if bigDiv has content
bigDiv.ready(function(){//wait for bigDiv to load it's contents completely
//some code here
});

}else{
//chk for bigDiv after every 500 msec for 2000 msec
if(waitTimer === lodTmout){
return false;
}else{
waitTimer += 500;
setTimeout('chkDataLod();',500);
}
}
};

function _init(){
chkDataLod();
}

_init();

最初我试图查看 bigDiv 的内容长度是否大于零。显示“未完全加载”的 bigDiv 时出现问题。所以我再次添加了 .ready() 函数。我在那个 bigDiv 上有一些动画功能,我不想在它完全加载之前启动它们。

bigDiv 是从 CDN 加载的,因此加载时间会有所不同。有一天,加载它需要将近 5 秒。看到我自己的方法,我知道它有问题。我正在使用 setTimeout 并准备就绪。但我不确定 ling ready 等待的时间。我试图查看它的文档,但无法清楚地找到它。

对于特定情况,我该如何解决?

最佳答案

最简单的方法是在元素的结束标记之后运行代码。像这样

<div id='bigDiv>....</div>
<script>
// do whatever you want to do with div
</script>

ps: 或者您可以尝试以一定间隔访问 div 之后的任何元素。如果存在 - 您的 div 已准备就绪。

关于javascript - jquery .ready() 函数等待多长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8968505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com