0
다음 예를 사용하여 스크롤 방향을 감지합니다. 그러나 모든 스크롤 동작에서 작동하는 것으로 보입니다. 방향이 바뀔 때만 작동하도록 할 수있는 방법이 있습니까?여러 번 스크롤 스크롤을 감지
var lastScrollTop = 0;
$(window).scroll(function(event){
var st = $(this).scrollTop();
if (st > lastScrollTop){
// downscroll code
} else {
// upscroll code
}
lastScrollTop = st;
});
안녕하세요, 각 스크롤 변경에 대해 여전히 여러 번 실행되는 것으로 보입니다. 나는 방향이 바뀔 때만 그것을 발사하려고 노력한다. lastDirection을 사용하여 코드에 오류가 있어야한다고 생각합니다. lastScrollTop 변수를 복사해야합니까? –
나는 코드를 시도하지 않았다. 나를 빨리 바이올린에 꽂고 무슨 일이 일어날 지 지켜 봅시다. –
아, 고쳤습니다. 문제는 lastDirection이 람다 함수에서 정의 되었기 때문에 모든 반복을 다시 초기화한다는 것입니다. lastScrollTop이 정의 된 것과 동일한 범위에서 정의하는 것이 가장 좋습니다. my [fiddle] (http://jsfiddle.net/vupzbvzw/3/)도 참조하십시오. –