javascript - 多次滑动函数调用

标签 javascript jquery html cordova phonegap-plugins

我创建了一个简单的 JavaScript 文件,其中有 2 张图片。

这里的人可以向左或向右滑动,相应 map 像滑动。

这是我的代码,

$('#landscapeimage1').swiperight(function (event) { //here lanscapeimage1 is canvas on which i have drawn an image.

    var width = window.innerWidth;
    var slide = "+=" + width + "px";
    $('#landscapeimage').animate({
        'left': -width
    }, 1, function () {
        $('#landscapeimage1').animate({
            "left": slide
        }, "fast", function () {});
        $('#landscapeimage').animate({
            "left": slide
        }, "fast", function () {
            currentImage = getPreviousImage();
            currentCanvas = "landscapeimage";

            drawImage();
            $(this).unbind(event);
            return false;
        });
        return false;
    });

    return false;
});

最初,当我滑动时它工作正常,但如果我访问相同的图像,那么它会再次调用相同的函数,直到没有未访问的图像出现,如果我已经访问了所有图像,它就会变成一个无限循环。

我不明白为什么会这样。

我已经尝试停止动画和解除绑定(bind)滑动功能,但这也不起作用。

<div data-role="page" id="imagepage">

            <div class="whiteBackground" id="landscapeimage" style="position: relative;">
                <canvas id="image" style="z-index: 1;position:absolute;left:0px;top:0px;" height="200px" width="200px">
                </canvas>
                </div>

<div class="whiteBackground" id="landscapeimage1" style="position: relative;">
                <canvas id="image1" style="z-index: 1;position:absolute;left:0px;top:0px;" height="200px" width="200px">
                </canvas>
                </div>

        </div>

调试后发现animate函数调用了多次;不是滑动功能,但我不明白为什么?请帮帮我。

有人知道为什么会这样吗?

最佳答案

您的代码有问题:

$('#landscapeimage1').off().swiperight(function (event) { 
    //code here
    return false;
});

或者:

var flag = true;
    if( flag ){
       // Set flag
       flag = false;
       $('#landscapeimage1').swiperight(function (event) { 
       //code here
       return false;
    });
}

因为,当你滑动时,事件会触发很多次:一次 1,两次 1+1 等等。

关于javascript - 多次滑动函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20395514/

相关文章:

javascript - 如何使用javascript忽略url参数中的空格

javascript - While 循环增加数字直到高于或等于目标

javascript - jquery Datatables 复选框获取所有选中的行

javascript - 为什么在keydown回调中返回false并不会停止按钮点击事件?

javascript - 为什么我在 jQuery 中会收到此错误?

javascript - 使用带有 Leaflet 的 WMS 弹出窗口

Javascript 客户端身份验证(使用 SSL,不使用 OAuth2)?

javascript - Js 和 css 文件未加载到 Symfony 3 上的虚拟主机上

html - Dreamweaver 模板将 coldfusion <cfinclude> 路径从相对路径转换为绝对路径

javascript - 在我的站点中实现了 CSP,但第 3 方库使用内联 javascript。我可以有选择地允许 'unsafe-inline' 吗?