2014-09-23 3 views
0

사용자가 사이트의 기능을 변경하여 사용자가 사이트 맨 아래에서 시작하고 아래로 스크롤하여 위로 이동해야하는 고객이 있습니다.위로/아래로 위/아래로 변경하는 스크롤 휠 이벤트 캡처

그래서 기본적으로 스크롤 기능을 뒤집어서 아래로 스크롤하면 위쪽으로 스크롤되고 반대 방향으로 스크롤하면됩니다.

나는 약간의 연구를했고, 나는 스크롤 이벤트 캡처 아래 무엇을 나에게 준, (How can I determine the direction of a jQuery scroll event?)이 발견 :

 var lastScrollTop = 0; 
     $(window).scroll(function (event) { 
      var st = $(this).scrollTop(); 
      if (st > lastScrollTop) { 
       // downscroll code 
       alert("DOWN"); 
      } else { 
       // upscroll code 
       alert("UP"); 
      } 
      lastScrollTop = st; 
     }); 

이 잘 작동이 식별을 경우 위 또는 아래로 사용자가 스크롤 .

하지만 난에 무엇을 할 수 있는지 모르겠어요

  1. 중지 기본 스크롤, 다른 방향

누구든지 내가 여기에 무엇을 할 수 있는지 알고있는

  • 스크롤? 또는 플러그인이나 다른 방법으로이 작업을 수행하는 완전히 다른 방법이 있다면, 나는 무엇이든 할 수 있습니다.

  • +0

    내가 궁금한 점은 사용자가 "역방향"스크롤을 시작할 때 어떤 시점에서 "일반"스크롤을 사용 가능하게 설정 했습니까? 사용자가 페이지 맨 위로 돌아올 때까지 스크롤을 되돌릴 수 있습니까? 또는 일정 시간 후에 다시 스크롤을 시작할 수 있습니까? 그것은 이상한 상호 작용입니다 ... – Jack

    +0

    @ JackPattishall - 결코 정상 스크롤로 돌아 가지 않습니다. 다운/업은 항상 위/아래입니다. 그리고 네, 나는 이상한 상호 작용에 동의합니다. 나는 그들이 "당신이 아래로 스크롤하고, 내용이 아래로 움직이는"모습을 원한다고 생각합니다. – Steven

    +1

    AH, 나는 당신을 얻었습니다. 죄송합니다. 귀하의 요구 사항을 잘못 이해했습니다. 나는 실제로 당신이 페이지의 바닥에 도달했을 때 당신이 역순으로 스크롤하고 있다고 생각했습니다! 귀하의 초기 상태 또는 시작 지점은 페이지의 하단입니까 ?? 그런 다음 사용자가 "아래로 스크롤"하면 페이지가 위로 스크롤됩니까? – Jack

    답변

    1

    여기에 함께 던져 빠른 바이올린는 다음과 같습니다

    http://jsfiddle.net/fmwpuu9g/

    기본적으로, 당신은 mousewheel 이벤트 (또는 DOMMouseScroll 이벤트)를 캡처하고 기본을 방지 할 수 있습니다. 모두

    문서 :

    을 MouseWheel : https://developer.mozilla.org/en-US/docs/Web/Events/mousewheel (대부분의 주요 브라우저) DOMMouseScroll : https://developer.mozilla.org/en-US/docs/Web/Events/DOMMouseScroll (파이어 폭스/게코)

    불행하게도, 당신이 볼 수 있듯이, 그것은 아니에요 "표준", 그래서 지원 ISN 보장되지 않습니다 ....

    한 가지 지적해야 할 점은 offset10px이라는 것입니다. 이것이 하드 코딩되어 있지만 클라이언트가 찾고있는 것일 수 있습니다. 관성을 기대하기 때문에 이상적이지 않습니다. 또한, 이것은 "정상적인"스크롤 기능이 비활성화 된 MacBooK Pro로 테스트되었습니다 (스크롤 업 또는 스크롤 다운) - 델타 기능이 어떻게 작동하는지 모르겠습니다.

    마지막으로 스크롤바를 제거하려는 경우 컨테이너의 자리를 top만큼 오프셋 할 수 있습니다.

    행운을 빈다.

    +0

    환상적입니다! 정확히 내가 무엇을 찾고 있었는지. 볼 수있는 스크롤바에 대해서는 확신 할 수 없지만 컨테이너의 상단 위치를 상쇄하여 제안하는 내용을 이해하고 있는지 확신 할 수 없습니다. 어떻게 수정합니까? – Steven

    +1

    안녕하세요, 스티븐! 위대한 인물. 스크롤바에 관해서 - 클라이언트가 스크롤바를 숨기기를 원한다고 말합니다. 그런 다음 오버플로 (스크롤 막대가 아닌)를 조작합니다. 따라서 오프셋은 "최상위"위치에 있습니다. 다음과 같은 것 : http://jsfiddle.net/fmwpuu9g/1/ – Jack

    관련 문제