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

时间:2015-03-21 16:44:49

标签: 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
    }
  });
});

但我的移动设备只是部分关闭了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();

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

1 个答案:

答案 0 :(得分: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
        }
    }

});