Jquery 当元素停止存在时,如何停止间隔?

Jquery 当元素停止存在时,如何停止间隔?,jquery,clearinterval,Jquery,Clearinterval,当元素停止存在时,如何停止间隔 这是我的代码,我就是无法让它工作: var AmLoadMoreButton = $('.amscroll-load-button'); var TopSearch = $('#textSearch'); var isDisabled = TopSearch.prop('disabled'); window.setInterval(function(){

当元素停止存在时,如何停止间隔

这是我的代码,我就是无法让它工作:

            var AmLoadMoreButton = $('.amscroll-load-button');
            var TopSearch = $('#textSearch');
            var isDisabled = TopSearch.prop('disabled');

            window.setInterval(function(){
                if(AmLoadMoreButton.length){
                    LoadMoreProducts();
                    console.log("Load more still exists");
                } else {
                    console.log("that's all, stop now");
                    StopLoadingProducts();
                }
            }, 1000);

            function LoadMoreProducts(){
                if(!isDisabled){
                    TopSearch.prop( "disabled", true );
                    $('#amasty-shopby-product-list').on("click", ".amscroll-load-button", function(){});
                    $('.amscroll-load-button').trigger('click');
                }
            }

            function StopLoadingProducts(){
                console.log("No more products to load");
                TopSearch.prop( "disabled", false );
                clearInterval();
            }
你就是这样停止间歇的吗?从未调用“StopLoadingProducts()”函数。控制台上没有任何记录,更不用说停止间隔了。

试试这段代码

var AmLoadMoreButton=$('.amscroll load button');
var TopSearch=$(“#textSearch”);
var isDisabled=TopSearch.prop('disabled');
var refreshIntervalId=window.setInterval(函数(){
if(AmLoadMoreButton.length){
loadmore产品();
log(“加载更多仍然存在”);
}否则{
log(“就这些,现在停止”);
停止加载产品();
}
}, 1000);
函数LoadMoreProducts(){
如果(!isDisabled){
TopSearch.道具(“禁用”,正确);
$(“#amasty shopby产品列表”)。在(“单击“,”.amscroll加载按钮”,函数(){});
$('.amscroll加载按钮')。触发器('click');
}
}
函数StopLoadingProducts(){
log(“没有更多要加载的产品”);
TopSearch.道具(“禁用”,错误);
clearInterval(refreshIntervalId);

}
尝试将间隔设置为一个值,然后将该值传递给
clearInterval
这是否回答了您的问题?