Javascript 等待元素显示给用户
如何等待用户显示/看到元素?我有下面的函数,但它只检查元素是否存在,而不检查它是否对用户可见Javascript 等待元素显示给用户,javascript,jquery,Javascript,Jquery,如何等待用户显示/看到元素?我有下面的函数,但它只检查元素是否存在,而不检查它是否对用户可见 function waitForElementDisplay (selector, time) { if (document.querySelector(selector) != null) { return true; } else if (timeLimit < timeSince) { return false; } else {
function waitForElementDisplay (selector, time) {
if (document.querySelector(selector) != null) {
return true;
} else if (timeLimit < timeSince) {
return false;
} else {
timeSince += time;
setTimeout(function () {
waitForElementDisplay(selector, time, timeLimit, timeSince);
}, time);
}
}
函数waitForElementDisplay(选择器,时间){
if(document.querySelector(选择器)!=null){
返回true;
}否则如果(时间限制<时间间隔){
返回false;
}否则{
timeSince+=时间;
setTimeout(函数(){
waitForElementDisplay(选择器、时间、时间限制、时间间隔);
},时间);
}
}
有点困惑,你是在尝试简单的“睡眠”吗
您可以使用以下命令等待元素加载:
document.querySelector(selector).onload = function() {
// Your code ...
}
运行一些工作代码段:
//触发某些元素的加载
document.querySelector(“body”).onload=function(){
//设置超时和对其他元素可见
setTimeout(函数(){
document.querySelector(“#my_元素”).style.display=“block”/*可见*/
}, 1000);
}
#我的元素{
宽度:100px;
高度:100px;
背景色:红色;
显示:无;/*不可见*/
}
您可以使用jQuery.ready()
可能重复的还有另一件事,定义“对用户可见”。。可以通过多种方式解释可能的重复
selector.ready(function(){
// do stuff
})