Jquery 如何设置类似计时器的事件处理程序,并在某个条件下停止计时器

Jquery 如何设置类似计时器的事件处理程序,并在某个条件下停止计时器,jquery,Jquery,我有一个javascript代码,可以在页面上生成一些元素。但是由于这些新生成的元素的数据来自外部源,加载这些元素可能需要一些时间。 我想做的是在这些元素加载后做一些事情,所以我决定我应该检查这些元素是否每秒都出现,然后执行我的其他coed 这就是我想做的: //start a timer like event handler which occurs every second //in every second{ if ($(".elementthatmustappear").is("

我有一个javascript代码,可以在页面上生成一些元素。但是由于这些新生成的元素的数据来自外部源,加载这些元素可能需要一些时间。 我想做的是在这些元素加载后做一些事情,所以我决定我应该检查这些元素是否每秒都出现,然后执行我的其他coed

这就是我想做的:

//start a timer like event handler which occurs every second
//in every second{
    if ($(".elementthatmustappear").is(":visible"))
    {
        //stop the timer
        //execute other codes
    }
    else
    {
        //don't stop the timer.continue checking
    }
}

有什么方法可以做到这一点吗?

我想做的事情是在加载这些元素之后做一些事情。

在这种情况下,听起来您应该向加载内容的函数传递回调,该回调应该在加载之后执行

如果您确实决定要遵循您制定的逻辑,这应该是可行的:

var timer = setInterval(function() {
    if ($(".elementthatmustappear").is(":visible")) {
        clearInterval(timer);
        doSomethingElse()
    }
}, 1000);
可能是以下内容的副本: