Создать функцию искусственного обратного вызова, чтобы включить обратные вызовы для .addclass и .css в Jquery? - PullRequest
2 голосов
/ 13 июня 2011

Я использовал функции slideUp / Down в Jquery для анимации div на моей странице, но он плохо работает на iPhone, поэтому я решил написать эквивалент Webkit для решения проблемы производительности, но вы не можете применить обратный вызов к jQuery .css или .addclass.

У меня есть эта функция:

$('#collapse').css('height','0');

Но мне нужно подделать обратный вызов, по сути, сделать эту работу:

$('#collapse').css('height','0', function() {
//do something after
});

Кто-нибудь знает, как это сделать?

Анимация Webkit установлена ​​на 1 сек.

Ответы [ 2 ]

7 голосов
/ 13 июня 2011

Просто используйте setTimeout;У jQuery нет способа узнать, завершена ли встроенная анимация браузера:

$('#collapse').css('height', 0);
setTimeout(function() {
    // code will happen after the timeout has completed
}, 1000); // 1 second

Недостатком этого является то, что вам нужно установить время для анимации в двух местах.

0 голосов
/ 24 сентября 2015

Другим возможным вариантом является syropia.net/journal/css3-transition-callbacks-in-jquery

= D

...