저는 무한 스크롤 형식의 페이지를 가지고 있습니다 (무한대 스크롤의 예를 들면 here을 클릭하고 아래로 스크롤). 사용자가 스크롤 할 때마다 update()
이라는 함수를 실행합니다.시간 초과가 실행 대기 중인지 확인하십시오.
대신 setInterval
을 사용할 수 있으며 x 밀리 초마다 검사 할 수 있지만 시간 초과가되면 페이지가 더 빠르고 안정적으로 응답합니다.
기본적으로 update()
은 콘텐츠를 페이지에 추가 한 다음 더 많은 페이지를 스크롤 할 수 없을만큼 충분하지 않은 경우 update()
을 다시 호출하도록 시간 제한을 설정합니다. 하나의 픽셀 만 스크롤했다면 괜찮을 것이지만 물론 스크롤 할 때 수십 또는 수백 개의 스크롤 이벤트가 발생합니다. 한 번에 수십 (또는 수백)의 시간 초과가 실행되므로 문제가됩니다. 타임 아웃이 너무 많으면 새로운 콘텐츠를 추가하는 일관된 애니메이션이 사라집니다.
그래서 내가 가진 ID를 사용하여 실행하기 위해 이미 시간 초과가 대기하고 있는지 확인하고 싶었지만이 기능은 JavaScript가 아닌 것 같습니다. 시간 초과 ID가 아직 실행되었는지 여부를 확인하는 방법이 있습니까? 그렇지 않다면 대안이 있습니까? 나는 JQuery가있다.
... 아니면 그냥 간격을두고 응답 성을 희생해야합니까?
당신은 그것을 실행 한 후 제한 시간이 자신의 타이머 값을 일부 글로벌 꼬추를 업데이트 할 수, 그래서 당신은 그 그것을 실행했는지 알 확인할 수 있습니다. 시간 제한을 실행할 때 – Pointy