У меня есть якорный тег <a class="next">next</a>
, превращенный в «кнопку». Иногда этот тег необходимо скрыть, если нет ничего нового для показа. Все работает нормально, если я просто скрываю кнопку с помощью .hide () и повторно отображаю ее с помощью .show (). Но я хотел использовать вместо этого .fadeIn () и .fadeOut ().
Проблема, с которой я столкнулся, заключается в том, что если пользователь нажимает кнопку во время анимации fadeOut, это может вызвать проблемы с логикой, с которой я запускаю шоу. Решение, которое я нашел, состояло в том, чтобы отменить привязку события click от кнопки после запуска исходной функции нажатия, а затем повторно связать его после завершения анимации.
$('a.next').click(function() {
$(this).unbind('click');
...
// calls some functions, one of which fades out the a.next if needed
...
$(this).bind('click');
}
последняя часть вышеприведенного примера не работает. Событие click на самом деле не привязано к привязке. Кто-нибудь знает правильный способ сделать это?
Я - самоучка из jquery, поэтому некоторые вещи более высокого уровня, такие как unbind () и bind (), у меня над головой, и документация по jquery на самом деле не настолько проста, чтобы я мог понять.