在使用queue:false之后,不会触发jQuery动画回调?

时间:2013-04-11 00:56:01

标签: jquery callback jquery-animate

为什么在使用queue:false后未触发动画回调

例如,这里会发生回调。

$("#move").click(function(){

        $(".box").animate({ 
            marginLeft: "100px"
        },500 , function() {

            alert('complete');
            console.log('complete');
        });

        return false;
});

但不是这个,

$("#move").click(function(){

        $(".box").animate({ 
            marginLeft: "100px"
        }, { queue:false, duration:500 } , function() {

            alert('complete');
            console.log('complete');
        });

        return false;
});

link到jsfiddle

我可以同时同时拥有queue:falsecallback吗?

2 个答案:

答案 0 :(得分:6)

这不会起作用karthikr ...队列将不再起作用。 正如您所提到的,animate定义为.animate(属性,选项)。您需要将回调作为options参数的一部分:

$("#move").click(function(){

    $(".box").animate({ 
        marginLeft: "100px",
     },{queue:false, duration:500, complete:function() {

          alert('complete');
          console.log('complete');
        }//callback function
    });//options and animate

    return false;
});

答案 1 :(得分:2)

格式错误:

结帐fiddle

jquery animate is defined as follows.animate( properties, options )

$("#move").click(function(){

        $(".box").animate({ 
            marginLeft: "100px",
         queue:false, duration:500 } , 5000, function() {

            alert('complete');
            console.log('complete');
        });

        return false;
});