1

我正在制作的模板上使用Unslider。我正在使用j.Query.event.swipe在移动设备上为其提供触摸/滑动支持。

问题是在移动设备上,滑块不是垂直触摸响应的——除非您触摸滑块元素之外,否则您无法上下滚动。向左/向右滑动效果很好,您可以在幻灯片中滑动,除非您在滑块本身之外触摸,否则您不能用手指上下滚动页面。

我觉得这是 jQuery 的问题,但我不知道它是什么。这是我在 index.html 底部的代码:

<!-- Reference jQuery -->
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.2.min.js"><\/script>')</script>

    <!-- Reference Javascript, minify for production -->
    <script type="text/javascript" src="js/jquery.event.move.js"></script>
    <script type="text/javascript" src="js/jquery.event.swipe.js"></script>
    <script type="text/javascript" src="js/unslider.js"></script>

    <!-- Unslider script -->
    <script>
        $(document).ready(function () {
            var unslider = $('.slider').unslider();
            $('.unslider-arrow').click(function(event) {
                event.preventDefault();
                if ($(this).hasClass('next')) {
                    unslider.data('unslider')['next']();  
                } else {
                    unslider.data('unslider')['prev']();  
                };
            });
    });
    </script>
4

1 回答 1

1

我找到了自己的答案:https ://github.com/idiot/unslider/pull/76

var unslider = $('.banner').unslider();
unslider.on('movestart', function(e) {
if((e.distX > e.distY && e.distX < -e.distY) || (e.distX < e.distY && e.distX > -e.distY)) {
    e.preventDefault();
}
});
于 2013-11-20T22:14:20.567 回答