window.scrollイベントを2回トリガーします
-
21-12-2019 - |
質問
どのような方法であっても、イベントが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の間で何かをお勧めします。
所属していません StackOverflow