2016-05-18 10 views
0

スクロールするときに私はあなたに続くサイドバーを持っています。私はそのアニメーションをモバイルでは望んでいません。このコードを変更するにはどうすればいいですか:ウィンドウのサイズが変更されたときに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

モバイルでこれを行うには、別の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 
    } 
}); 
のアニメーションを停止する例である
関連する問題