質問

どのような方法であっても、イベントが2回トリガされているページのスクロールを検出する方法。私が試したさまざまな方法のためのコードを見てください。

<body onmousewheel="alert('Why are you alerting twice?')">
.

または

<script src="js/jquery-1.8.3.min.js"></script>
<script>
$(window).scroll(function(){
    alert("Why are you alerting twice?");
});
</script>
.

または

window.onscroll = please_scroll;

function please_scroll() {
      alert("Why are you alerting twice?");
    }
.

$ .debounceを使ってみました。

それがどんな使い方である場合も、私がしようとしていることを説明します。 ユーザーがホイールを上下にスクロールすると、ページはスクロールを次の全幅の内容DIVにアニメートします。私のメニューのonclickに成功したコードがありますが、ユーザーがスクロールするにつれて、私のページの各部分にスクロールして自動的に補助するようにするようにも望ましいです。これは私がスクロールするために私が持っている関数です:

function scrollTo(id){
  // Scroll
  $('html,body').animate({scrollTop: $("#"+id).offset().top - 110},'slow',function(){
    animation_active = "false";
  });
}
.

役に立ちましたか?

解決

多くのデバイスはスクロールイベントをトリガーすることができます。そのためのタイムアウトを使用するだけです。

var timeout;

$(window).scroll(function() {
    clearTimeout(timeout);  
    timeout = setTimeout(function() {
        // do your stuff
    }, 50);
});
.

値50で遊ぶことができます、私は50から150の間で何かをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top