У меня есть элемент в моем теле, что я анимировать ти этой функции:JQuery запуска анимации нажмите
$(function(){
$("#telefonofisso").click(function(){
if ($("#telefonofisso").hasClass('negative')) {
$(this).delay(400).animate({right:'10px'},1000).addClass('positive').removeClass('negative')
}
});
})
Но я не могу заставить его вернуться в исходное положение right:-210px
если нажать на нее еще раз. Я попытался с помощью следующей функции:
$(function(){
$("#telefonofisso").click(function(){
if ($("#telefonofisso").hasClass('positive')) {
(this).delay(400).animate({right:'-210px'},1000).addClass('negative').removeClass('positive')
}
});
})
Но эта функция активируется, прежде чем я нажимаю во второй раз, так что мой элемент, если я нажимаю на него, начинается с right:-210px
, идет к right:10px
, чем возвращается к right:-210px
только с одним нажмите кнопку.
Как я могу это исправить, и почему он действует так? Я не понимаю, почему он это делает. Потому что теоретически триггер - это щелчок, а вторая функция должна действовать только тогда, когда я нажимаю второй раз, верно?
использовать комбинированную Нажмите функцию обработчика для обоих условий. Поскольку у вас есть два обработчика кликов, они выполняются одновременно. –
Да, я вижу, что они выполняются одновременно, но для меня это не имеет особого смысла, потому что второй должен активироваться, только если мой элемент имеет класс «положительный», и он может иметь только «положительный» или «положительный», нагативный "за один раз. поэтому один из них не должен работать. –
'addClass ('positive')' выполняется до конца анимации. Используйте его в анимационной функции обратного вызова. Я бы продемонстрировал, если вы создаете JSfiddle своей проблемы. –