Если у вас есть код, работающий для ваших click
обработчиков событий, тогда просто .trigger()
событие щелчка на соответствующем элементе для каждого из событий swiperight
и swipeleft
:
$(document).delegate('#next', 'click.my-namespace', function () {
...
}).delegate('#prev', 'click.my-namespace', function () {
...
}).delegate('#my-page-id', 'swipeleft swiperight', function (event) {
if (event.type == 'swipeleft') {
$('#next').trigger('click.my-namespace');
} else {
$('#prev').trigger('click.my-namespace');
}
});
Таким образом, у вас есть единая база кода, которая делает то же самое, которая вызывается несколькими обработчиками событий. Мне нравится делать это, когда я добавляю сенсорные события в дизайн рабочего стола.
Обратите внимание: я связал обработчики событий с пространствами имен, чтобы вы случайно не вызвали неправильный обработчик событий.
Вы также можете использовать .stop(true, true)
, но это может сделать ваши анимации нервными при воспроизведении многих подряд. Лучшее решение при использовании .stop()
- всегда анимировать до абсолютного значения, никогда не используйте +=200px
, поэтому при использовании .stop()
анимация может быть остановлена и мгновенно перезапущена до новой абсолютной позиции: http://api.jquery.com/stop