Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 等待元素显示给用户_Javascript_Jquery - Fatal编程技术网

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
})