Mootools - fx.scroll не остановится, когда будет запущено другое событие
-
10-10-2019 - |
Вопрос
У меня нет очень хорошего понимания JavaScript, поэтому абологичим до того, как мы начнем.
Я успешно использовал Mootools 1.1 для прокрутки элементов Onclick Events. Я использовал fx.scroll в качестве примера здесь http://demos111.mootools.net/fx.scroll и в основном сорвал демо -код.
ПРИМЕЧАНИЕ. Если вы нажмете на одну ссылку, а затем быстро он быстро перестает перемещаться к первому элементу и прокручивается ко второму.
Сейчас я пытаюсь использовать Mootools 1.3, чтобы использовать Fade Efects для галереи, и использовал больше строителя, чтобы получить FX.Scroll. Он работает, но когда я нажимаю на одну ссылку, а затем сразу еще, он просто продолжается с первой свиткой.
Похоже, что Event.stop не работает.
См. Пример http://www.mytimephotography.co.uk <Работаhttp://www.mytimephotography.co.uk/test <сломан
Я использую код:
window.addEvent('domready', function () {
var scroll = new Fx.Scroll('scrollcontainer', {
wait: false,
duration: 2000,
offset: {'x': 0, 'y': 0},
transition: Fx.Transitions.Quad.easeInOut
})
$('link1').addEvent ('click', function(event){
event = new Event(event).stop();
scroll.toElement('c1');
})
//etc
})
Пожалуйста, просмотрите любой другой исходный код на сайте.
Решение
Используйте свойство "Link" объекта параметров FX. По умолчанию установлено «игнорировать», поэтому оригинальная анимация продолжает работать. Вместо этого используйте «цепочку», если вы хотите, чтобы она работала после текущей анимации, или «отменить», если вы хотите, чтобы она прервала в настоящее время запущенную анимацию.
Поочередно, используйте более быструю анимацию - две секунды В самом деле длинная! :)
var scroll = new Fx.Scroll('scrollcontainer', {
wait: false,
duration: 2000,
offset: {'x': 0, 'y': 0},
transition: Fx.Transitions.Quad.easeInOut,
link: 'cancel'
});