我有一个脚本,每 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/