Javascript `队列`回调只执行一次?
我有一个循环的jQuery函数。我想做的是让Javascript `队列`回调只执行一次?,javascript,jquery,css,callback,jquery-callback,Javascript,Jquery,Css,Callback,Jquery Callback,我有一个循环的jQuery函数。我想做的是让$bird\u wing\u left元素旋转30度,然后再旋转回0度(在无限循环中) 第一次它确实旋转了30度,然后旋转到0度,然后旋转到30度。然而,之后,它似乎忽略了回调(将度值重置为0),因此,它一直保持在30度 可能是什么问题 这是JSFIDLE:快速修复方法,可以是在设置旋转变量值之前检查它 if(rotate == 0) rotate = rotate + 30; else rotate = 0; 当您排队函数时,必须在函数
$bird\u wing\u left
元素旋转30度,然后再旋转回0度(在无限循环中)
第一次它确实旋转了30度,然后旋转到0度,然后旋转到30度。然而,之后,它似乎忽略了回调(将度值重置为0),因此,它一直保持在30度
可能是什么问题
这是JSFIDLE:快速修复方法,可以是在设置旋转变量值之前检查它
if(rotate == 0)
rotate = rotate + 30;
else
rotate = 0;
当您
排队
函数时,必须在函数中出列
(或调用“下一步
”,详见下文)以允许队列继续处理(如图所示)。只需在队列回调中添加$(this).dequeue()
:
var$bird_wing_left=$(“#wing”);
$(文档).ready(函数(){
var=0;
setInterval(函数(){
旋转=旋转+30;
$bird_wing_left.css({
变换:“旋转(“+旋转+”度)”
}).延迟(1000).队列(函数(){
旋转=旋转-30;
$(this.css)({
变换:“旋转(“+旋转+”度)”
}).dequeue();//控制台中是否有错误?是否有需要处理的小提琴?也许问题出在其他地方?@A.Wolff:从文档中看是这样的,是的,谢谢。我添加了它作为第二个示例。
if(rotate == 0)
rotate = rotate + 30;
else
rotate = 0;