gpt4 book ai didi

javascript - 递归函数仅触发一次

转载 作者:行者123 更新时间:2023-11-28 18:09:40 26 4
gpt4 key购买 nike

在下面的函数中,我不明白为什么计数器函数只触发一次(数字增加一个增量,我希望它计数到 homeFigTwo)。

function effectFour() {
var homeFigOne = parseFloat($('.home .figure').text());
var homeFigTwo = 23.99;
var plusFigOne = parseFloat($('.home-plus .figure').text());
var plusFigTwo = 28.49;
var homeInc = homeFigOne < homeFigTwo ? .01 : -.01;
var plusInc = plusFigOne < plusFigTwo ? .01 : -.01;

function counterOne(){
if (homeFigOne === homeFigTwo){
return
}else{
homeFigOne = (homeFigOne + homeInc).toFixed(2);
$('.home .figure').text(homeFigOne);
window.setTimeout(counterOne, 100);
}
}
counterOne();
}

这可以在此处的上下文中看到:http://codepen.io/timsig/pen/NdvBKN .

非常感谢您的帮助。

最佳答案

toFixed()返回值为

A string representing the given number using fixed-point notation.

这意味着第二次发生这种情况时:

homeFigOne = (homeFigOne + homeInc).toFixed(2);

真正发生的事情是:"16.00"= "16.00"+ 0.01,事实上,它不具有 toFixed 方法,因为整个句子就是这样的.

因此,您想要的是再次parseFloat homeFigOne 的结果,因为每当您toFixed 时,您都会再次将其设置为字符串。

homeFigOne = (parseFloat(homeFigOne) + homeInc).toFixed(2)

关于javascript - 递归函数仅触发一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41884084/

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