滑动轮播时防止在iOS野生动物园中滚动页面

时间:2019-05-29 11:19:11

标签: jquery ios carousel touchmove

我有一个轮播,并希望在轮播上调用ontouchmove事件以向左或向右滑动时阻止页面滚动,下面是处理轮播滑动的代码。

 move: function(event) {
    var self = this;
    self.pageX = event.targetTouches[0].pageX;
    self.pageY = event.targetTouches[0].pageY;
    self.swipeLengthX = self.touchstartx - self.pageX;
    self.swipeLengthY = self.pageY - self.touchstarty;
    self.movex = self.index * slideWidth + (self.swipeLengthX);
    if (Math.abs(self.swipeLengthX) > Math.abs(self.swipeLengthY) && Math.abs(self.swipeLengthX) > 50) {
        document.addEventListener('touchmove', function(event) {
            elem.addClass('carousel-animate')
            .css('transform','translate3d(-' + self.movex + 'px, 0px, 0px');

            $('body').addClass('no-scroll');
            $('.no-scroll').on('touchmove', function (event) {
                event.preventDefault();
               }, false);
            });

        }
    },
  ...

如您所见,我在no-scroll元素中添加了一个类body,然后尝试防止在轮播中滑动时的默认设置。但这在iOS中不起作用。另外,我也希望页面滚动在不再滑动时继续进行。

0 个答案:

没有答案