如何将javascript计数器停止在特定的数字
我有一个在Amazon上运行的tampermonkey的javascript代码。它所做的只是计算你的礼品卡余额,让它看起来像我在赚钱。我想知道是否有可能让它停在一个特定的号码如何将javascript计数器停止在特定的数字,javascript,tampermonkey,Javascript,Tampermonkey,我有一个在Amazon上运行的tampermonkey的javascript代码。它所做的只是计算你的礼品卡余额,让它看起来像我在赚钱。我想知道是否有可能让它停在一个特定的号码 var oof = document.getElementById("gc-ui-balance-gc-balance-value"); var lastCount = localStorage.getItem("lastCount"); oof.innerText = '$' + lastCount || "$10
var oof = document.getElementById("gc-ui-balance-gc-balance-value");
var lastCount = localStorage.getItem("lastCount");
oof.innerText = '$' + lastCount || "$10000";
function animateValue(id) {
var obj = document.getElementById(id);
var current = parseInt(localStorage.getItem("lastCount")) || 10000;
setInterval(function () {
var nextCount = current++;
localStorage.setItem("lastCount", nextCount);
obj.innerText = '$' + nextCount;
}, 0.1);
}
animateValue('gc-ui-balance-gc-balance-value')
当
当前值
达到如下特定值时,可以清除间隔
function animateValue(id) {
// rest of the code
let interval = setInterval(function() {
var nextCount = current++;
localStorage.setItem("lastCount", nextCount);
obj.innerText = '$' + nextCount;
}, 0.1);
if (current === requiredVal) {
clearInterval(interval)
}
return current;
}
在setInterval回调中使用,这样每次调用回调时,都可以检查新计数是否达到阈值,如果达到阈值,则清除计时器
如果检查回调之外的值,则不会在每次计数增量时调用逻辑
function animateValue(id) {
var obj = document.getElementById(id);
var current = parseInt(localStorage.getItem("lastCount")) || 10000;
var interval = null;
var maxCount = 1000;
var callback = function() {
var nextCount = current++;
if (nextCount === maxCount) {
clearInterval(interval);
}
localStorage.setItem("lastCount", nextCount);
obj.innerText = '$' + nextCount;
}
interval = setInterval(callback, 0.1);
}
下面是一个演示:
let current=0;
设区间=null;
常量回调=()=>{
设nextCount=current++;
console.log(nextCount);
如果(下一个计数===5){
间隔时间;
}
}
间隔=设置间隔(回调,100)
setInteval
返回一个唯一的ID,您可以使用clearInterval()清除该ID代码>只要记住它,如果计数器达到你需要的高度,就调用它be@Jmuse.v2,我用一个常规函数替换了arrow函数,用var替换了let/const,它现在可以工作了吗?你能试着让它与我的代码或其他东西一起工作吗?因为我不知道把它放在哪里。此外,maxCount不是defined@Jmuse.v2,是的,你必须定义maxCount,这只是一个例子,我已经将它集成到你的animateValue函数中了。当我从你那里得到新代码时,我刚刚在底部添加了“animateValue('gc-ui-balance-gc-balance-value'),它开始工作了!非常感谢!