当我在Cordova应用程序中滑动时,两次调用JGestures

时间:2019-04-01 00:34:09

标签: javascript cordova swipe jgestures

我正在制作一个cordova应用程序,我想在其中构建一个库,用户可以在其中使用手势(向左,向右滑动)滑动图像。我使用JGestures进行此操作,但是每当我滑动图像时,该函数就会被调用两次,并且第二个索引处的图像出现。假设我在image01上滑动,然后显示了image03而不是image02。

我已经使用警报功能对其进行了检查,警报弹出了两次。 我尝试过移动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
            }
        });

0 个答案:

没有答案