Как реализовать обратные вызовы beforeAnimte и afterAnimate в моем собственном плагине jQuery? - PullRequest
0 голосов
/ 04 марта 2011

Давайте предположим, что это мой плагин:

    // writing the plugin
    (function($){
        $.fn.myPlugIn = function(options){
            defaults = {
                beforeAnimate : function(){},
                afterAnimate : function(){}
            }
            options = $.extend(defaults, options);

            //here is where I need help
            options.beforeAnimate();
            $(this).animate({'width':'1000px'},1000);
            options.afterAnimate();
        }
    })(jQuery);

    //using the plugin
    $('#art2').myPlugIn({
        beforeAnimate: function(){
            $('#art1').animate({'width':'1000px'},1000);
        },
        afterAnimate: function(){
            $('#art3').animate({'width':'1000px'},1000);
        }
    });

Как мне переписать эту часть:

            options.beforeAnimate();
            $(this).animate({'width':'1000px'},1000);
            options.afterAnimate();

Для того, чтобы получать 3 анимированных вызова один за другим.(т.е. ожидание завершения предыдущего)

1 Ответ

0 голосов
/ 04 марта 2011

Из jQuery:

Завершение функции

Если указано, функция полного обратного вызова запускается после завершения анимации. Это может быть полезно для объединения различных анимаций в последовательности .Обратному вызову не отправляются никакие аргументы, но это устанавливается для анимируемого элемента DOM.Если анимировано несколько элементов, обратный вызов выполняется один раз для соответствующего элемента, а не один раз для всей анимации.

http://api.jquery.com/animate/

...