Javascript 如何在一段时间内将一个值逐渐更改为另一个值?
此代码假定在1/4秒的时间段内,将对象的x坐标精确增加Javascript 如何在一段时间内将一个值逐渐更改为另一个值?,javascript,jquery,Javascript,Jquery,此代码假定在1/4秒的时间段内,将对象的x坐标精确增加boxSize的数量。似乎代码的执行速度必须非常快,因此它会减慢速度,并且在清除间隔时对象无法到达目标。即使我增加了间隔时间,减少了重复次数,也可能有一些电脑无法播放。是否有更可靠的方法可以使用重复次数而不是时间?此外,在播放动画时,用户不应执行任何操作,因此isWalking变量。使用$.animate(请参阅) if(!isWalking) { isWalking = true; var animation = s
boxSize
的数量。似乎代码的执行速度必须非常快,因此它会减慢速度,并且在清除间隔时对象无法到达目标。即使我增加了间隔时间,减少了重复次数,也可能有一些电脑无法播放。是否有更可靠的方法可以使用重复次数而不是时间?此外,在播放动画时,用户不应执行任何操作,因此isWalking
变量。使用$.animate(请参阅)
if(!isWalking) {
isWalking = true;
var animation = setInterval(function () {$player.css({'left': "+="+boxSize/25})}, 10);
setTimeout(function(){clearInterval(animation)},250);
setTimeout(function(){isWalking = false},250);
}
isWalking = true;
$player.animate({
left: futureValue
},
250, // number of milliseconds animation should last
"swing", // easing property (see the docs)
function() { // callback that will run when animate completes
isWalking = false;
});