Сделайте что-нибудь (оповещение), когда все закончится - PullRequest
0 голосов
/ 20 февраля 2012

Я пытаюсь выяснить, как я могу что-то сделать (предупредить), когда весь материал закончил исчезать. Может быть, мой синтаксис не очень хорош?

    $.fn.showdelay = function(){
            var delay = 0;
            return this.each(function(){
                $(this).delay(delay).fadeIn(200);
                delay += 200;
            },
            function(){ 
                alert('done!');
            });
        };
    $item.delay(500).showdelay();

Ответы [ 3 ]

1 голос
/ 20 февраля 2012

Используйте callback function parameter в методе fadeIn:

$.fn.showdelay = function(){
        var delay = 0, count = $(this).length - 1;

        return this.each(function(i){
            $(this).delay(delay).fadeIn(200, function() {
                if(i == count) alert('something');
            });
            delay += 200;
        });
    };
$item.delay(500).showdelay();

http://api.jquery.com/fadeIn/

0 голосов
/ 20 февраля 2012

Используйте метод обратного вызова, предоставленный в fadeIn.

$.fn.showdelay = function() {
var delay = 0;
return this.each(function(){
    $(this).fadeIn(200, function() { 
        alert('done!'); 
    });
    delay += 200;
});
$item.delay(500).showdelay();
0 голосов
/ 20 февраля 2012

Вы можете использовать обратный вызов fadeIn(), который будет запускаться после завершения анимации.

$('#el').fadeIn('fast', function(){ //Callback });
...