Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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 jquery:对animate()的行为感到困惑_Javascript_Jquery - Fatal编程技术网

Javascript jquery:对animate()的行为感到困惑

Javascript jquery:对animate()的行为感到困惑,javascript,jquery,Javascript,Jquery,我有以下jquery代码,它通过一个while循环为元素设置动画,该循环增加一个计数器,并反复调用animate() $(“#右”)。单击(函数(){ $i=1; 二元=10元 而($i250){ 警报(“我是一个警报框!”); } } }); 我不明白的是,while循环似乎立即完成,然后animate()运行,因为当调用console.log()函数时,立即将计数器的所有迭代写入控制台,警报弹出,然后元素移动。这是为什么?我如何检查animate()何时完成?您可以使用在动画完成时调用的回

我有以下jquery代码,它通过一个while循环为元素设置动画,该循环增加一个计数器,并反复调用animate()

$(“#右”)。单击(函数(){
$i=1;
二元=10元
而($i<250){
控制台日志(一美元);
$(“#内容”)。制作动画({
“左”:“+=”+$ii+“px”
},
“快速”);
$i+=$ii;
控制台日志(一美元);
如果($i>250){
警报(“我是一个警报框!”);
}
}
});

我不明白的是,while循环似乎立即完成,然后animate()运行,因为当调用console.log()函数时,立即将计数器的所有迭代写入控制台,警报弹出,然后元素移动。这是为什么?我如何检查animate()何时完成?

您可以使用在动画完成时调用的回调


更多信息。

我不太明白您想做什么,但是while循环总是会立即完成

您可以检查动画何时完成,如下所示:

$("#content").animate({

},"fast",function(){
   alert('completed')
});
无论如何,我认为你的动画功能不会很好地工作。如果要增加“#content”的左位置,则必须像下面这样获取此信息:
$(“#content”).position()。左

查找术语“异步”
$("#content").animate({

},"fast",function(){
   alert('completed')
});