사용자가 마우스 휠 (또는 글라이드 패드)을 사용하여 아래로 스크롤하면 사이트가 자동으로 jquery animate를 사용하여 다음 요소로 스크롤하는 사이트에서 작업 중입니다.
문제는 "Smooth Scrolls"가있는 Mac 또는 기타 장치를 사용할 때 사용자가 글라이드 패드를 너무 빠르게 아래로 스 와이프하면 애니메이션이 끝난 후 다시 호출된다는 것입니다.
그 이유는 "Smooth Scrolls"인 글라이드 패드를 사용하여 스크롤 할 때 단순히 델타 (-40)를 사이트로 전달하는 것이 아니라 일반적으로 -100처럼 높이 시작하여 이동하는 전체 델타를 전달하기 때문입니다. 스크롤이 끝날 때 -1까지 내려 가면 페이지가 얼음 위에 있고 천천히 마찰을 되 찾는 것처럼 사용자에게 부드러운 스크롤 마무리를 제공합니다.
처음에는 델타가 -50 또는 50보다 큰 경우에만 스크롤하도록 사이트를 제한하여 "Smooth Scrolling"을 사용하는 장치에서 잘 작동하지만 그렇지 않은 장치의 경우 마우스가 델타에 대해서만 전송하므로 함수가 호출되지 않습니다. 10.
다음과 같이 코드를 설정했습니다.
if (delta < 0) {
//SCROLL DOWN
scrollDown();
} else if (delta > 0) {
//SCROLL UP
scrollUp();
}
누군가가 키나 마우스의 정상적인 사용을 절대로 납치해서는 안된다고 말하기 전에 Google도 그렇게하고 저와 같은 문제가 있습니다. 완벽하게 만들고 싶어요. 감사!
이런 일이 발생하는 사람을 위해 나는 다른 길을 가기로 결정했습니다.
이것은 너무 하드웨어 의존적이며 내가 아는 한 말할 방법이 없습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다