Я делаю приложение Cordova, в котором я хочу создать библиотеку, где пользователь может смахивать изображения с помощью жестов (проведите пальцем влево, вправо). Я делаю это с помощью JGestures, но всякий раз, когда я провожу изображение, функция вызывается два раза, и появляется изображение со вторым индексом. Допустим, я проведу пальцем по изображению 01, а затем вместо изображения 02 отобразится изображение 03.
Я проверил это, используя функцию оповещения, и оповещение появляется два раза.
Я попытался переместить OnDeviceReady
Я сделал патч, используя глобальную переменную count, чтобы он работал (как в коде ниже), но мне не нравятся такие патчи.
var count = 0
function onDeviceReady() {
$('#image_slider').bind('swipeleft', function() {
if (count == 0) {
var rightId = 0
if (idNum == 11) {
rightId = 1
} else {
rightId = idNum + 1
}
alert("gallery1" + rightId)
document.getElementById("gallery1" + idNum).style.display = "none"
document.getElementById("gallery1" + rightId).style.display = "block"
idNum = rightId
nameGbl = "gallery1" + rightId
count = 1
} else {
count = 0
}
}); //show next hides screen1, shows screen2
$('#image_slider').bind('swiperight', function() {
if (count == 0) {
var leftId = 0
if (idNum == 0) {
leftId = 11
console.log(leftId)
} else {
leftId = idNum - 1
}
alert("gallery1" + leftId)
document.getElementById("gallery1" + idNum).style.display = "none"
document.getElementById("gallery1" + leftId).style.display = "block"
idNum = leftId
nameGbl = "gallery1" + leftId
count = 1
} else {
count = 0
}
});