窗口调整大小时停止jquery滚动

时间:2016-05-18 15:01:28

标签: javascript jquery

当您向下滚动时,我有一个侧边栏跟随您。但我不想在移动设备上播放动画。如何修改此代码:

var $sidebar   = $(".registration_container"), 
    $window    = $(window),
    offset     = $sidebar.offset(),
    topPadding = 15;

$window.scroll(function() {
    if ($window.scrollTop() > offset.top) {
        $sidebar.stop().animate({
            marginTop: $window.scrollTop() - offset.top + topPadding
        });
    } else {
        $sidebar.stop().animate({
            marginTop: 0
        });
    }
});

以适应这一点。请帮忙!

1 个答案:

答案 0 :(得分:1)

要在移动设备上执行此操作,只需添加另一个if语句,以指定其移动设备时的其他代码。

您可以使用device.js或其他方法来检测移动设备,即使是比窗口宽度小的简单也可以工作。

以下是停止移动设备动画的示例

$window.scroll(function() {
    //detect if the browser is not mobile
    if(!$('body').hasClass('mobile')){
      if ($window.scrollTop() > offset.top) {
        $sidebar.stop().animate({
           marginTop: $window.scrollTop() - offset.top + topPadding
        });
      } else {
        $sidebar.stop().animate({
            marginTop: 0
        });
      }
    }else{
      //do something for mobile here
      //or just let css do the job 
    }
});