jquery链接自定义事件和动画

时间:2014-01-27 11:00:54

标签: jquery events chaining

我需要在jquery中链接事件,我不确定我是否正确链接它们,因为我想用动画触发自定义事件,如果动画完成,我需要触发另一个事件。

此代码有效,console.log('open is done!')在5000ms之后触发:

$.when(
    // Open
    $('a').animate({
        width: "100%"
    }, 5000, function() {
        // Animation complete
    })
).done(function() {
    console.log('open is done!');
    $('a.open').trigger('close');
});

但我想将动画放在另一个自定义事件中,等到事件结束并触发其他自定义事件,例如:

$.when(
    // Open
    $('a').trigger('open')
).done(function() {
    console.log('open is done!');
    $('a.open').trigger('close');
});

$(document).on('open', function(event) {
    // Open
    $('a').animate({
        width: "100%"
    }, 5000, function() {
        // Animation complete
    });
});

console.log('打开已完成!')突然被解雇,我如何正确链接事件?

提前致谢

德克

1 个答案:

答案 0 :(得分:0)

试试这个:

    $('a').trigger('open')

    $(document).on('open', function(event) {
          $('a').animate({
                  width: "100%"
                }, 5000, function() {
                    console.log('open is done!');
                    $('a.open').trigger('close');
          });
    });