Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
递增/递减数字jQuery_Jquery - Fatal编程技术网

递增/递减数字jQuery

递增/递减数字jQuery,jquery,Jquery,我从中找到了这段代码,可能与TS在JSFIDLE上制作的示例的问题类似 但我的问题是不同的,当我将end someValue 110更改为1000000或数百万这样的大数字时。动画数字的结尾不再像“结束某个对象”值那样精确,有时可能会在999876或1000000以下结束。如何使动画数字的结束与结束值完全一致?您可以提供一个done函数,动画结束时将调用该函数,就像Orbling建议的那样: $({numberValue: currentNumber}).animate({numberValue

我从中找到了这段代码,可能与TS在JSFIDLE上制作的示例的问题类似


但我的问题是不同的,当我将end someValue 110更改为1000000或数百万这样的大数字时。动画数字的结尾不再像“结束某个对象”值那样精确,有时可能会在999876或1000000以下结束。如何使动画数字的结束与结束值完全一致?

您可以提供一个done函数,动画结束时将调用该函数,就像Orbling建议的那样:

$({numberValue: currentNumber}).animate({numberValue: 1000000}, {
    duration: 8000,
    easing: 'linear',
    step: function () { 
        $('#dynamic-number').text(Math.ceil(this.numberValue)); 
    },
    done: function () {
        $('#dynamic-number').text(Math.ceil(this.numberValue));
    }
});

工作小提琴:

在动画结束时有一个回调并将其取整。或者确保增量是目标的倍数。您能告诉我如何进行回调吗?请参阅下面发布的关于
done()!非常感谢你,非常感谢(:但是如果没有。done(:完成)这个大数字,怎么会错过结果呢函数?只是好奇。实际上,当你使用小数字时,它也被“忽略”,但由于你调用Math.ceil将十进制数向上舍入,你没有注意到它。看看这把小提琴,我在其中取消了对Math.ceil的调用,看看会发生什么:是的,我注意到了。但这是否也意味着当我使用像1这样的大数字时000000左右,动画数字的结尾没有达到99999.xxx,因此可以设为1000000?无论如何,感谢done()函数:d,这取决于总的步骤数。如果步骤数足够大(动画持续时间更长),那么您将更接近“99999.xxx”。然而,在一个简短的动画中,您不会得到太多的步骤,因此您可能会得到类似的结果,考虑到在每个步骤之间,您的变量会增加大约300k:0;310568;690198;924213(3个步骤)
$({numberValue: currentNumber}).animate({numberValue: 1000000}, {
    duration: 8000,
    easing: 'linear',
    step: function () { 
        $('#dynamic-number').text(Math.ceil(this.numberValue)); 
    },
    done: function () {
        $('#dynamic-number').text(Math.ceil(this.numberValue));
    }
});