2015-07-30 3 views
0

Я использую анимацию функцииодушевленных выстреливает обратный вызов до полного

var square = $('<div class="square"></div>'); 
    $('body').append(square); 

    square.css({ 
     'background-color': 'red', 
     'top': '10px', 
     'left': '10px' 
    }).animate({ 
     left: left + 'px', 
     top: top + 'px' 
    }, { 
     duration: 400, 
     complete: callback 
    }); 

его обжиг обратного вызова, прежде чем он на самом деле завершает

я должен был сделать обходной путь

в функции обратного вызова я использую SetTimeout иметь он ждет 400 секунд. Но почему я не могу оживить вызов функции обратного вызова при завершении trully?

+0

Должно быть что-то еще вызывает проблему, потому что [работает для меня] (http://jsfiddle.net/s6e12fts/). Кроме того, вам не нужны '+ 'px'' – dave

ответ

0

завершение Pass обратного вызова в качестве третьего аргумента

square.css({ 
    'background-color': 'red', 
    'top': '10px', 
    'left': '10px' 
}).animate({ 
    left: left + 'px', 
    top: top + 'px' 
}, 400, callback); 

+0

не работает. он по-прежнему запускает обратный вызов до завершения –

+0

Его синтаксис в порядке, он использует подпись '' animate (свойства, параметры) '] (http://api.jquery.com/animate/#animate-properties-options). – dave

+0

@BrownLimie воспроизводится в скрипке/plunker? –

Смежные вопросы