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 に答える