javascript - 10 秒后停止执行 setInterval 函数

标签 javascript jquery html

我有一个脚本,每 2 秒检查 DOM 中的类 (.discount__value),如果找到,则附加 HTML 代码。

        var discountWDollar = $(".discount__value:last").text();
        var discount1 = discountWDollar.replace(/\$/g,''); //remove $ sign
        var discount = Math.abs(discount1); //convert to positive number

        var cartSubTotalWDollar = $(".cart__subtotal").text();
        var cartSubTotal = cartSubTotalWDollar.replace(/\$/g,''); //remove $ sign

        newTotal1 = cartSubTotal - discount; //new total
        var discountedTotal = newTotal1.toPrecision(4); //add decimal number(centavo)


        var checkExist = setInterval(function() {
            if ($(".discount__value")[1]) {
                $(".cart-subtotal-wrapper").append("<div class='newTotalLabel'><span class='label'>Total on Check Out</span> <span class='value'>$"+discountedTotal+"</span></div>");

            clearInterval(checkExist);
        } else { 
            console.log("retry");
        }
    }, 2000); // check every 2secs

代码可以工作,但如果类不存在,它会继续搜索 DOM,我希望它在 10 秒后停止搜索。请高手帮忙?

最佳答案

使用计数器并在计数器达到限制时清除计时器:

var counter = 1;
var checkExist = setInterval(function() {
      if ($(".discount__value")[1]) {
        $(".cart-subtotal-wrapper").append("<div class='newTotalLabel'><span class='label'>Total on Check Out</span> <span class='value'>$" + discountedTotal + "</span></div>");

        clearInterval(checkExist);
      } else {
        if (counter === 5) {
          clearInterval(checkExist);
        }
        counter++;
      }, 2000);

关于javascript - 10 秒后停止执行 setInterval 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54086684/

相关文章:

javascript - jQuery 连接格式(字符串和条件语句)

javascript - Reddit API - API 与附加 .json 和获取首页信息之间的区别

javascript - Chrome 扩展程序第一次无法运行

python - 如何从 Jinja 的列表中准确获取一个元素?

javascript - 来自 node js 的 HTML 代码未被浏览器解释为这样

javascript - Dynamicpage div 在加载新内容后不久闪烁

javascript - 从浏览器 URL 中删除查询字符串而不重新加载页面

javascript - 如何在提交表单时将 PHP 变量传递到 Javascript cookie 中?

html - 一个 block 应该重叠两个相邻的 CSS

javascript - 如何以动态方式控制带有悬停(显示和隐藏)的元素