0

jQuery にはanimating-event (not :animated) がありますか? のようなものstepですが、追加のメソッド/イベントとして?

現在、各アニメーションのステップ関数でカスタム イベントをトリガーします。

$('.foo').animate({property: 'value'}, {
    step: function(now, fx){
        $(this).trigger('animating', [now, fx])
    }
});

$('.foo').on('animating', function(e, now, fx){
    // do what you want
});

どこかに確かにもっと良い解決策があると思います。アイデア/アプローチはありますか?

アップデート

私は (もちろん素晴らしいものではありませんが) 特別なイベントを作成しました。これにより、この問題の処理が少し簡単になります。

(function($){
    var oldStep = $.fx.step._default;
    jQuery.event.special.animating = { };
    $.fx.step._default = function( fx ) {
        $(fx.elem).trigger('animating', fx);
        oldStep.apply( this, arguments );
    };
}(jQuery));

これは、jQuery のアニメーション メソッドが変更されたため、jQuery 1.7+ では機能しません。または、ステップ関数が拡張できなくなったためです ($.fx.step は空の になりますobject)。

jQuery.fxを指すTween.prototype.init; & jQuery.fx.stepを指す{};

だからうまくいかない…

私はすべてのヒントをさらに見ていきます!

4

0 に答える 0