2013-08-28 3 views
-1

마우스리스 사용을 감지해야하지만 이벤트 리스너를 추가하면 스크롤하는 것과 관계없이 전체 페이지를 멈 춥니 다. 또한 Brandon의 mousewheel 플러그인을 사용해 보았습니다. 다음 마우스 휠 사용까지 다시 false로 부울을 변경, 실행 코드 :마우스 휠 사용을 탐지하지만 페이지 스크롤을 계속 유지하십시오. (javascript/jquery)

사용자가 마우스 휠을 사용했습니다 : 부울 = 부울 == true의 경우

사실 나는이 모형 코드 같은 간단한 일을해야합니다.

저는이 책에 익숙하지 않습니다.

+0

fiddle pls를 게시 할 수 있습니까? – Niels

+0

그래서 사용자가 처음 스크롤 버튼을 사용하여 페이지를 계속 스크롤해야 할 때를 원합니다. 그들이 다시 사용하면 스크롤을 멈춰야합니까? – putvande

+0

아니요, 사용자가 페이지 스크롤을 방해하지 않는 마우스 휠을 사용할 때 특정 애니메이션이 트리거되기를 원합니다. 호기심에서 벗어난 –

답변

0

함수가 false를 반환하면 JavaScript 프레임 워크에 따라 scroll의 기본 동작이 영향을받을 수 있습니다.

스크롤을 듣기 위해 맞춤 이벤트 만 트리거하는 것이 좋습니다. 이 같은

뭔가 : 앱에서

$(document).mousewheel(function(e){ 
    $(document).trigger('MyApp/ScollHappened', iCanPassValues); 
}); 

그리고 조금 더, 당신은 진짜 스크롤 이벤트를 방해하지 않고 계산을 수행 할 수 있습니다.

$(document).on('MyApp/ScrollHappened', function(event, ...){ 
    //Doing my calculations 
}) 
+0

명시 적으로 마우스 휠이 아닌 스크롤 이벤트에서 트리거되지 않습니까? –

+0

네 말이 맞아. 하지만 기본 동작은 바뀌지 않습니다. 앱의 동작을 사용자 정의 함수 바깥에 두는 것이 좋습니다. 어떤 점에서 반환 결과에 따라 페이지의 동작이 바뀌는 것입니까? –

+0

넣은 후에도 페이지가 계속 스크롤되지 않습니다. 이것으로 .mousewheel이 그렇게하지 못하게합니다. 1 단계로 돌아 왔습니다. ( –

0

나는 그런 느낌이 필요하다고 생각합니다. 키보드에서 스크롤을 감지 할 수 있다는 것을 명심하십시오 (아래로 키). 당신은 단지 스크롤 감지하려면 :

$(window).scroll(function() { 

     //scroll 
); 

을 그리고 당신은 위아래로 스크롤 사이를 연기하려는 경우 :

var lastScrollTop = 0; 
    $(window).scroll(function() { 
      var st = $(this).scrollTop(); 
      //downscroll  
      if (st > lastScrollTop){ 

      } 
      //upscroll 
      else{ 

      } 
     lastScrollTop = st; 

    ); 

죄송합니다, 내 대답은 당신이 찾고있는 것이 아니다. Abdul Sy의 답변을 사용하여 스크롤 대신 마우스 휠 이벤트를 바인딩하려면이 부분을보십시오. - http://www.jquerysdk.com/api/event-mousewheel

+0

아니요, 마우스 휠 동작 만 필요합니다. –

+0

http://jsfiddle.net/CvCc6/6/이 바이올린을 확인하십시오. – thenewseattle

관련 문제