2017-07-17 9 views
0

このコードはうまく動作しますが、下にスクロールするとdivはフッタに達して停止しません。特定のポイントでページのスクロールを停止するにはどうすればよいですか?divで特定のポイントにスクロール

(function($) { 
    var element = $('#div'), 
     originalY = element.offset().top; 

    var topMargin = 20; 

    element.css('position', 'relative'); 

    $(window).on('scroll', function(event) { 
     var scrollTop = $(window).scrollTop(); 

     element.stop(false, false).animate({ 
      top: scrollTop < originalY 
        ? 0 
        : scrollTop - originalY + topMargin 
     }, 300); 
    }); 
})(jQuery); 
+0

https://stackoverflow.com/a/4770179/660884 – Volem

答えて

0

複数の3項演算子を使用して、停止位置を定義することができます。ここで top : scrollTop < originalY ? 0 : scrollTop > stopTop1 && scrollTop < stopTop2 ? stopTop1 : scrollTop - originalY + topMargin

コードあなたが試すことができます:この例は、scrollTopスプライトが、その後stopTop1に達した場合は、スクロールがトップstopTop2に合格するまでstopTop 1とstopTop 2との間で、それがその位置にフリーズする、停止の2点を持っている myjsfiddle

関連する問題