我有一个仅在页面(或页面的一部分)仍在加载时出现的web元素,并在页面完全加载时消失。我想确切地看到这个元素何时消失,我可以通过在浏览器控制台中反复运行类似的东西来做到这一点:
$("div.v-app-loading")
或者:
document.getElementsByClassName('v-app-loading')
但在大多数情况下,一切都发生得太快,我无法抓住确切的时刻。必须有一种方法来创建一个循环,它将在控制台中运行并执行我提到的一个命令,每隔0.5秒或更频繁地执行一次。
有人能指出我正确的方向吗?
答案 0 :(得分:1)
您可以使用Javascript的setInterval()
,如下所示:
function yourFunction(){
//do something here...
}
setInterval(yourFunction(), 500); //Will run the function every half a second(500ms = 0.5s)
答案 1 :(得分:0)
使用jQuery检测页面加载时可能更容易:
HTML
<body class="loading">
JS
// do something initially here
$(window).load(function () {
// do something when finished loading
$('body').removeClass('loading');
});
编辑:如果您想要检查是否存在元素,请在递归函数调用中执行此操作。您可以使用setTimeout对其进行限制,但您不需要:
function checkElement() {
if ($('.v-app-loading').length) {
checkElement();
// or: setTimeout(checkElement, 100);
} else {
// Element disappeared
}
}
checkElement();