Я пытаюсь создать своего рода шаблон для страницы панели инструментов, где при нажатии кнопки панели инструментов что-то добавляется в DOM.
Я пытался создать шаблон, чтобы, когда кто-то например, создает новую информационную панель, у него есть возможность указать в CSS анимацию, которая должна запускаться на каждой кнопке при нажатии. Если для кнопки определена анимация, фактическая загрузка элемента должна быть отложена до завершения анимации.
Теперь, если я действительно укажу анимацию в css, все будет работать нормально, потому что я откладываю логический код с обратным вызовом в конце анимации. Моя проблема в том, что я не могу добиться того же, если для элемента не задана анимация.
Я бы хотел что-то похожее:
function buttonClick($button) {
$button.addClass('activated');
$button.one('animationend', function() {
// ... run the logic here
});
if (...no animation specified in activated class) {
// ... run the logic here
}
}
ПРИМЕЧАНИЕ : Я использую здесь jQuery, если для этого есть метод, указанный c в jQuery, это тоже подойдет мне, но простой метод javascript тоже подойдет. Я слышал о селекторе jQuery(":animated")
, но когда я его тестировал, мне показалось, что он работает только для анимаций, начинающихся с самого jQuery
, а не с CSS3
.