gpt4 book ai didi

jquery - 重置函数重复计数器

转载 作者:行者123 更新时间:2023-12-01 07:48:22 25 4
gpt4 key购买 nike

我有一个函数可以检查某个元素是否具有属性,如果没有找到该函数将再次运行。它会执行此操作,直到找到该属性或达到允许该函数调用自身的最大次数。

var cnt = 0;

function myFunction() {
if (!$('.myEm').is('[style]') && cnt < 10) {
setTimeout(function () {
myFunction();
cnt++;
}, 3000);
}
}

myFunction();

但是,如果用户在另一个元素 (myDropDown) 中选择一个选项,则原始函数的计数器需要重置为零,并且 myDropDown 需要重新开始运行。

$(document).on('change', '#myDropDown', function() {
var cnt = 0;
myFunction();
});

我正在努力重置此计数器值。我整理了一个 FIDDLE 展示我正在努力实现的目标。

最佳答案

您需要将对计时器的引用存储在变量中,然后在 select 元素发生更改时调用 clearTimeout()。您还应该在将 cnt 重置回 0 之前删除 var 语句,否则您将更改其范围。试试这个:

$(document).on('change', '#myDropDown', function () {
clearTimeout(timer);
cnt = 0;
myFunction();
});

Update fiddle

关于jquery - 重置函数重复计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33130215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com