我正在使用动态脚本标签和 JSON 加载远程数据。我在网站上显示的远程页面中有一个 div,我用它来加载内容。
问题是 javascript 函数在页面加载时看不到 div
,因为它是远程数据。如果我设置大约 300 的超时,它通常会起作用,并且我的 javascript 可以看到 div
。但有时需要更长的时间并且会破坏 JavaScript。
我正在尝试这个:
function load_content() {
if (document.getElementById('remote_div') == null) {
setTimeout('load_content()', 300);
} else {
document.getElementById('remote_div').innerHTML = 'Content goes here'
}
}
但它就是行不通。我做错了什么?
最佳答案
您可能想使用 setInterval 来执行此操作。像这样的东西:
var intrval = setInterval( function(){
if(document.getElementById('remote_div')) {
load_content();
clearInterval(intrval);
}, 50);
function load_content() {
//loading content here
}
这样您就不必估计加载时间。当在 DOM 树中找到 div#remote_div 时,将执行 load_content。
根据评论进行编辑,忘记指定间隔,所以确实不清楚。
关于javascript - 使用 javascript setTimeout 来查看 div 是否已加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2680734/