문제

페이지에서 이벤트가 두 번 트리거 된 페이지에서 스크롤링을 감지하는 방법에 관계없이내가 시도한 다른 방법에 대한 코드를 참조하십시오.

<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로 스크롤을 해제합니다.나는이 메뉴를 성공적으로 수행하는 코드를 가지고 있지만 사용자가 스크롤하는 것에 따라 일어나고 싶습니다. 기본적으로 내 페이지의 각 부분을 스크롤하여 스크롤합니다.이것은 현재 스크롤을 위해 현재있는 기능입니다.

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