нужна помощь по таймеру или что то в этом роде
Народ вообщем такое дело...
у меня есть 5 одинаковых ссылок с одинаковым классом при клике на одну из них произходит определённое анимационное действие...но если кликать быстро на все сразу то всё начинает вылазить за рамки дёрганье и т.д вообщем некрасивый бардак... мне нужно что бы при клике на одну ссылку пока анимация не закончится другие не работали как это можно реализовать??? |
Очевидно, не запускать новую анимацию, пока не закончится текущая.
http://api.jquery.com/animate/ Цитата:
|
Цитата:
и вот мой код поправте всё что не коректо! оно то всё работает но я не профи и знаю что полюбому костыли есть! $open_slide.live("click", // ловим клик на .open_slide через live() function(e){ var this_os = $(this); // загоняем this в переменную var ind_ws = this_os.closest($wrapper_slide).index(); //сохраняем в переменную index текущего wrapper_slide if(this_os.data("active") != true){ //проверка активности e.preventDefault(); //запрет перехода ссылки this_os.data("active",true); // добовляем состояние текущему .open_slide console.time('create list'); $wrapper_slide.filter("[rel=act]").removeAttr("rel").animate({"width":"30"}); // анимируем стартовую ширину .wrapper_slide с атрибутом, удаляем атрибут $slide.filter("[rel=act]").removeAttr("rel").animate({"opacity":"hide","width":""}); // анимируем стартовую ширину .slide с атрибутом, удаляем атрибут console.timeEnd('create list'); this_os.next($slide).attr("rel","act").delay(500).animate({"width":"600","opacity":"show"},600);// текущему .slide даём анимацию и атрибут this_os.closest($wrapper_slide).attr("rel","act").delay(500).animate({"width":"625"},300); // текущему .wrapper_slide даём анимацию и атрибут $open_slide.filter(":not(:eq("+ind_ws+"))").data("active",false); // удаляем состояние всех .open_slide кроме текущего }<!--close if--> }<!--close function click--> );<!--close click--> |
1. Добавить переменную disableAnimation
2. Перед выполнением анимации проверять первую, если disableAnimation==true, то новую анимацию не начинать 3. При проигрывании анимации выставлять переменную в true, по окончании анимации - сбрасывать в false |
Часовой пояс GMT +3, время: 22:25. |