Javascript 动画编号需要在60秒内停止
数字从开始(1000)到结束(10000)设置动画。但是我希望这个动画在一些预定义的时间内停止,比如60秒结束值可以很大,即23600191,但此动画需要在60秒内停止Javascript 动画编号需要在60秒内停止,javascript,jquery,html,jquery-animate,Javascript,Jquery,Html,Jquery Animate,数字从开始(1000)到结束(10000)设置动画。但是我希望这个动画在一些预定义的时间内停止,比如60秒结束值可以很大,即23600191,但此动画需要在60秒内停止 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 函数myCalculator(){ $(“.container2”).show(); var启动=1000; var端=
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
函数myCalculator(){
$(“.container2”).show();
var启动=1000;
var端=10000;
var持续时间=2000年;
animateValue(“值”、开始、结束、持续时间);
}
函数animateValue(id、开始、结束、持续时间){
var范围=结束-开始;
无功电流=启动;
var增量=结束>开始?11:-1;
var stepTime=数学轮(持续时间/范围);
var obj=document.getElementById(id);
var timer=setInterval(函数(){
电流+=增量;
obj.innerHTML=parseFloat(当前).toLocaleString('en-US');
如果((增量>0&¤t>=end)| |(增量<0&¤t),则可以遵循的一个策略是在动画开始时设置时间戳,并检查要停止的时间
函数myCalculator(){
$(“.container2”).show();
var启动=1000;
var端=200000;
var持续时间=2000年;
animateValue(“值”、开始、结束、持续时间);
}
函数animateValue(id、开始、结束、持续时间){
var范围=结束-开始;
无功电流=启动;
var增量=结束>开始?11:-1;
var stepTime=数学轮(持续时间/范围);
var obj=document.getElementById(id);
//动画开始时的时间戳
var startTime=performance.now();
var timer=setInterval(函数(){
电流+=增量;
obj.innerHTML=parseFloat(当前).toLocaleString('en-US');
//此指令检查是否已超过60秒
//(performance.now()-startTime)/1000>60)
如果((增量>0和当前>=结束)| |(增量<0和当前60)){
obj.innerHTML=parseFloat(end.tolocalString('en-US');
清除间隔(计时器);
}
},步进时间);
}
单击此处查看动画
动画数量$
我做了一个不同的方法,看一看。
(我让它在6秒钟内停止,以便更容易地看到它工作,更改var secondsLeft以适应您的时间)
var定时器;
函数myCalculator(){
$(“.container2”).show();
var启动=1000;
var端=10000;
var持续时间=2000年;
animateValue(“值”、开始、结束、持续时间);
}
函数animateValue(id、开始、结束、持续时间){
var secondsLeft=6000;
运行时(id、开始、结束、持续时间);
setTimeout(函数(){stopClock();},secondsLeft);
}
函数运行时(id、开始、结束、持续时间){
var范围=结束-开始;
无功电流=启动;
var增量=结束>开始?11:-1;
var stepTime=数学轮(持续时间/范围);
var obj=document.getElementById(id);
计时器=设置间隔(函数(){
电流+=增量;
obj.innerHTML=parseFloat(当前).toLocaleString('en-US');
},步进时间);
}
函数stopClock(){
清除间隔(计时器);
}
单击此处查看动画
动画数量$
我不知道该怎么办,你能修复它吗?@Jasbir,解决方案是用代码编写的。尝试复制和粘贴很抱歉告诉你@Jose,我尝试了很多次,但你的脚本不起作用,即使是数字也不行animating@Jasbir看看我的编辑,你的代码正在运行是的,@Jose它正在运行,实际上我错过了播放动画。非常感谢。嘿@Jasbir,我添加了一个aswer,你能检查一下这是否对你有帮助吗?如果有,请投票。谢谢!@CalvinNunes我对你的答案投了赞成票,但我也希望对我的问题投赞成票