调用不在Jquery中作为链接函数工作

时间:2015-02-11 04:31:30

标签: javascript jquery

我有以下代码片段:

$('#move').click(function () {
    $('#block').animate({
        'left': '+=50px'
    }, 500);
});

function get_fx() {
    var store = console.log($(this).queue('fx').length);
    return store;
}

function trigger_it(param) {
    $(param).trigger('click');
}

call_it = setInterval(function () {
    trigger_it('#move')
},
2000);

Fiddle Here

现在,在$('#block')上运行了animate函数之后,我希望get_fx()函数返回$('#block')队列中仍然存在的动画数量,所以我有以下代码行,在animate函数之后:

.call(this , get_fx())

现在这实际上似乎有效,但让我告诉你我在控制台中得到的结果:

0 // 0 is displayed , which i guess is the correct result .. I am not sure . 
TypeError: $(...).animate(...).call is not a function // I get this error , I don't know why . 

现在有人可以告诉我为什么我会收到这个错误并且我的呼叫功能正在做它想要做的事情吗?

编辑:: 我不想使用动画功能的回调选项,而是想使用调用功能在get_fx()上。

1 个答案:

答案 0 :(得分:1)

    animate() 

功能支持回调功能。你可以利用它。所以你可以像这样使用

        $('#move').click(function(){
            $('#block').animate({ 'left' : '+=50px' } , 500, function(){

                 get_fx();

            });