Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Прервать выполнение кхм... действий над элементом (https://javascript.ru/forum/jquery/17814-prervat-vypolnenie-kkhm-dejjstvijj-nad-ehlementom.html)

Frankie 03.06.2011 17:56

Прервать выполнение кхм... действий над элементом
 
Есть такой вот фидл:
http://jsfiddle.net/nvMqP/3/
Суть такова: после клика по элементу a элемент div начинает появляться и исчезать общей продолжительностью в несколько секунд. Проблема заключается в том, что если быстро кликнуть по элементу a несколько раз, то действия fadeIn и fadeOut как бы встанут в очередь и элемент div так же несколько раз и появится-исчезнет, а это не совсем то, что я ожидал.
Необходимо сделать так, чтобы после каждого клика по a элемент div начинал появляться-исчезать снова, и после последнего нажатия он выполнял это действие ровно один раз.
Если я не совсем ясно описал, что я хочу (У нас уже ночь и я на самом деле больше хочу спать), то можно посмотреть пример настоящего живого сайта с подобной проблемой: http://www.e-legion.ru/. (поводите мышью по левому меню)

Frankie 03.06.2011 18:12

Чёрт, я искал решение этой проблемы два дня, но нашёл его через пару минут после поста на форуме. :) Мысли упорядочились и я придумал, что гуглить. Жаль, что темы тут удалять, похоже, нельзя. Короче говоря, то, что я искал - это функция .stop(). Вот нормально работающий фидл:
http://jsfiddle.net/nvMqP/4/
Спасибо за внимание. :thanks:


Часовой пояс GMT +3, время: 04:48.