MooTools - предотвращение событий во время работы других событий - PullRequest
1 голос
/ 22 марта 2011

Я пытался создать слайд-шоу, вот моя попытка:

http://jsfiddle.net/paulmason411/fNfKk/

Это работает довольно хорошо, хотя, если вы нажмете кнопку «Продолжить» или «Предыдущая» очень быстрослайды не выстраиваются в линию.

Можно ли отключить прослушиватель следующего щелчка, пока выполняется анимация движения?

любая помощь будет отличной, спасибо!

1 Ответ

1 голос
/ 22 марта 2011

не очень корректный код, почему бы вам не написать класс? кажется, что с вашими переменными так не получается.

В любом случае, есть несколько способов решения этой проблемы.

проще всего заставить его работать с вашим кодом без рефакторинга: http://jsfiddle.net/dimitar/fNfKk/2/

Идея состоит в том, чтобы иметь переменную области действия moving, которая устанавливается через события onStart и onComplete анимации. слайды влево / вправо, затем проверьте, двигается ли, и если да, возвращайтесь без каких-либо действий

способ 2: не переключайтесь между «текущей позицией, текущей позицией + шириной», так как именно это вызывает у вас проблемы в данный момент - если вы нажмете на него посередине, он потеряет «кадр» или ... фокус (то есть кадры не будут центрированы )

Вместо этого вычислите, сколько стоит каждый шаг, и сохраните глобальный scrollto var - тогда каждый предыдущий / следующий должен увеличивать / уменьшать scrolltoval и запускать анимацию движения, например, el.tween("left", scrollto);. объедините это с link: 'cancel' для вариантов анимации, и вы сможете быстро перейти к нетерпеливому.

удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...