Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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
Javascript 如何在一段时间内将一个值逐渐更改为另一个值?_Javascript_Jquery - Fatal编程技术网

Javascript 如何在一段时间内将一个值逐渐更改为另一个值?

Javascript 如何在一段时间内将一个值逐渐更改为另一个值?,javascript,jquery,Javascript,Jquery,此代码假定在1/4秒的时间段内,将对象的x坐标精确增加boxSize的数量。似乎代码的执行速度必须非常快,因此它会减慢速度,并且在清除间隔时对象无法到达目标。即使我增加了间隔时间,减少了重复次数,也可能有一些电脑无法播放。是否有更可靠的方法可以使用重复次数而不是时间?此外,在播放动画时,用户不应执行任何操作,因此isWalking变量。使用$.animate(请参阅) if(!isWalking) { isWalking = true; var animation = s

此代码假定在1/4秒的时间段内,将对象的x坐标精确增加
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;
});