>웹 프론트엔드 >JS 튜토리얼 >사용자가 jQuery에서 스크롤을 중지하는 경우를 어떻게 감지할 수 있나요?

사용자가 jQuery에서 스크롤을 중지하는 경우를 어떻게 감지할 수 있나요?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-11 19:54:18972검색

How Can I Detect When a User Stops Scrolling in jQuery?

jQuery의 스크롤()을 사용하여 사용자가 스크롤을 중지할 때 감지

문제 개요:

jQuery의 스크롤( ) 스크롤하는 동안 요소에서 클래스를 제거하는 함수입니다. 그러나 스크롤이 중지되면 해당 클래스를 다시 적용하고 싶습니다.

답변 설명:

제공된 솔루션은 타이머를 활용하여 사용자가 스크롤을 중지한 시기를 감지합니다. 시간 초과를 추적하기 위해 scrollTimer 변수를 사용합니다. scroll() 이벤트가 발생하면 타이머가 지워지고 setTimeout()을 사용하여 새 타이머가 설정됩니다. 이 타이머는 지정된 지연(예에서는 250ms) 후에 콜백 함수를 호출합니다.

향상된 솔루션:

제공된 코드 조각에는 jQuery의 on()에 대한 확장이 포함되어 있습니다. $.unevent.js라는 이벤트 핸들러. 이 확장을 사용하면 콜백 함수가 트리거되어야 하는 지연 시간을 지정할 수 있습니다. 이는 일정 시간이 지난 후에만 이벤트를 실행하려는 시나리오에 이상적입니다.

구현:

업데이트된 버전을 사용하는 방법은 다음과 같습니다.

$(window).on('scroll', function(e) {
    console.log(e.type + '-event was 250ms not triggered');
}, 250);

다음과 같이 지연(밀리초 단위)을 조정할 수 있습니다. 필요합니다.

추가 참고 사항:

  • GitHub 저장소에서 $.unevent.js의 최신 업데이트를 확인하세요.
  • 이것은 on()에서 스크롤을 원하는 이벤트로 간단히 대체하면 크기 조정과 같은 다른 이벤트에 솔루션을 적용할 수 있습니다. 방법입니다.

위 내용은 사용자가 jQuery에서 스크롤을 중지하는 경우를 어떻게 감지할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.