JGestures вызывают два раза, когда я пролистываю в своем приложении Cordova - PullRequest
0 голосов
/ 01 апреля 2019

Я делаю приложение 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
            }
        });
...