2017-05-19 7 views
2

ユーザーがウェブページ上のボタンを押したかどうかを確認する簡単なスクリプトを作ろうとしています。ユーザーが特定のdivを過ぎてスクロールしたかどうかをチェックし、そうであればページは別のスクロールにスクロールして何も起こりません。jQuery - ボタンクリックでアンカーにスクロール

技術的には、私のコードはDOMをアンカーにスクロールするので機能しますが、副作用としてスクロールしないようにします。

$("#scrollDownBttn").click(function(){ 

    var mainOffset = $("#pinkRegion").offset().top; 

    $(document).on('scroll', function() { 
     if ($(document).scrollTop() > mainOffset) { 
       $(document).scrollTop($("#brownRegion").offset().top); 

     } 
     else{ 

     } 

    }); 
}); 

私はjQueryに慣れようとしていますが、明らかにまだ長い道のりがあります。私はなぜそれがページ全体を凍結するのかわからない。それはなぜですか?

答えて

0
$("#scrollDownBttn").click(function(){ 

    var mainOffset = $("#pinkRegion").offset().top; 


     if ($(document).scrollTop() > mainOffset) { 
       $(document).scrollTop($("#brownRegion").offset().top); 

     } 
     else{ 

     } 


}); 

crollイベントにトリックをした、

+0

感謝を使用する必要はありませんが! – Voidvalkon

2

これを試してみてください:

$("#scrollDownBttn").click(function(){    
    $('html, body').animate({ 
      scrollTop: $("#pinkRegion").offset().top 
     }, 500); 
}); 
関連する問題