2016-10-27 2 views
0

스크롤하려고 시도했지만 실제 스크롤이 발생하지 않을 때 일부 기능을 실행해야합니다. 예를 들어, 페이지가 맨 위로 스크롤되고 사용자가 위로 스크롤하려고하거나 페이지가 가능한 맨 아래로 스크롤되고 사용자가 아래로 스크롤하려고 할 때.제로 스크롤을 잡는 방법?

그런 종류의 두루마리를 잡을 방법이 있습니까?

onscroll 이벤트는

UPD 도움이되지 않았다 사람들이 제안으로, 모든 스크롤 시도를 잡을 수있는 유일한 방법은 스크롤의 위치에 영향을 미칠 수있는 작업의 모든 이벤트를 볼 수있다. 내가 이해할 수있는 한, 마우스 휠, 마우스 휠 누름, 키보드 (화살표, 숫자 패드 화살표, 스페이스, 페이지 위/아래, 집, 끝), 터치 등 모든 스크롤 방법이 있습니다.

사실,이 질문을 통해 "스크롤 할 수있는 방법은 무엇입니까?"와 같은 질문을하고 싶습니다.

예를 들어, 내가 제로 스크롤 시도 (은 영어로 정확이 표현인가? 페이지가 아래로 스크롤하지만, 사용자가 어쨌든 그것을 아래로 스크롤하려고 할 때 happenned되는 스크롤 시도) 아래로 잡으려고합니다. 스크롤 이벤트를 사용하여 사용자가 아래로 스크롤하여 설정/해제할지 결정합니다. finally_scrolled_to_the_bottom 부울 플래그.

다음 :

  1. 터치 : 플래그가 설정되어있는 경우, 터치 리스너에 난 방향을 확인해야하고, 방향은 '다운'되는 경우, 내 기능,
  2. 키보드 화재 : 동일 확인 (방향 & & 플래그가 설정되어있는 '다운'되는) 경우 : 내 기능을 발사,
  3. 마우스 휠 롤 - (키 & & 플래그가 설정되어 셀인/numdownarrow/공간/PageDown 키/끝) 경우 예 경우, 확인 , 예인 경우 - 화재 기능,
  4. 마우스 휠 프레스 : ???

가능한 모든 방법으로 스크롤 할 수 있습니까? 누르는 마우스 휠로 만든 스크롤을 처리하는 방법은 무엇입니까? 나를 위해

+0

스크롤 할 수있는 가능한 모든 방법이 필요합니까? 아니면 마우스 휠에 관심이 있습니까? 스크롤하려고하는 화살표를 위아래로 다루고 있습니까? –

+0

@EdmundReed, 예, 요점 : 마우스, 키보드 등 모든 스크롤 방식을 포착하는 것입니다. – lucifer63

답변

1

wheel 이벤트를 찾을 수 있습니다. 장치에 따라 스크롤 시도는 swiping, arrow keys 또는 다른 어떤 것으로도 가능합니다.

나는 제로 스크롤 시도

난 당신이 정말 수 있다고 생각하지 않습니다를 잡으려면.상상할 수있는 좋은 방법은 콘텐트가 아래쪽으로 스크롤되는 것을 막는 것입니다. onscroll 핸들러 내에서 적어도 하단의 1px 이상으로 리셋하면됩니다. 사용자는 항상 아래로 스크롤 할 수 있지만 스크롤 다운 '시도'에서 항상 scroll 이벤트가 발생하지만 1 픽셀 남았음을 알 수는 없습니다.

+0

실제로, 스크롤 위치에 영향을 줄 수있는 모든 동작의 이벤트를 보는 것이 좋습니다. – lucifer63

+0

예. 실제 스크롤은 일어나지 않으며, 잡으려는 것은 * 스크롤링 시도 *입니다. 그런 일은 없기 때문에 할 수있는 최선책은 두루마리를 유발할 수있는 행동을 감시하는 것입니다. – Bergi

0

window.onwheel 작품 :

var foo = function() { 
    console.log(new Date()); 
} 

window.onwheel = foo; 

이 내게 페이지의 상단에 도달하더라도 콘솔에서 새로운 정보를 제공합니다.

@bergi가 지적했듯이, onmousewheel은 deprecated이지만, onwheel은 직접 교체로 사용됩니다.

+2

'mousewheel'은 더 이상 사용되지 않습니다. – Bergi

+0

@Bergi 감사합니다. – moopet