Skrollr在宽度和移动设备上销毁

1 jquery ipad jquery-mobile parallax skrollr

我正在使用Skrollr destroy方法在768px以下的任何东西上杀死skrollr.

在这里找到了它,它主要是很好的:

$(function () {
  // initialize skrollr if the window width is large enough
  if ($(window).width() > 767) {
    skrollr.init(yourOptions);
  }

  // disable skrollr if the window is resized below 768px wide
  $(window).on('resize', function () {
    if ($(window).width() <= 767) {
      skrollr.init().destroy(); // skrollr.init() returns the singleton created above
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

但我的移动设备只是部分关闭了skrollr.特别是iPad.

我在这里也见过这种破坏方法:

//function
$(function skrollrInit() {

    //initialize skrollr
    skrollr.init({
        smoothScrolling: false
    });

    // disable skrollr if using handheld device
    if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
        skrollr.init().destroy();
    }

});

//execute function
skrollrInit();
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种方法将两者结合起来?谢谢!!

小智 6

if (!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) && $(window).width() > 767) { // only init skrollr on non-mobile devices
    skrollr.init(yourOptions);
}

$(window).on('resize', function () {
    if (!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) { // no reason to destroy on mobile
        if ($(window).width() <= 767) {
          skrollr.init().destroy(); // skrollr.init() returns the singleton created above
        }
    }

});
Run Code Online (Sandbox Code Playgroud)