728x90
반응형
제이쿼리(jQuery)를 이용하여 아이폰(iOS) 사파리 바운스 스크롤(bounce scroll) 감지 대응하기
스크롤 방향에 따라 헤더(header) 숨김/표시 처리를 하여도
아이폰(iOS)의 사파리에서 상단으로 이동할때 바운스 스크롤 이펙트가 작동하면
스크롤 위치가 마이너스로 인식되어 헤더가 표시되지 않는다.
문제는 상단에서 바운스 스크롤 이펙트가 작동하고 있을때와 이펙트가 종료되었을 때
모두 헤더가 표시되지 않는다.
해결 방법은 기존 방향 감지 이벤트에서 스크롤 위치가 마이너스라도 헤더가 표시될 수 있게만
추가하면 된다.
[js]
let lastScroll = 0;
$(window).scroll(function(){
let nowScroll = $(this).scrollTop();
if (lastScroll >= nowScroll || lastScroll < 0){
// iOS 사파리 bounce effect 시 스크롤 위치 마이너스 할당
$('header').stop().slideDown(200);
} else {
$('header').stop().slideUp(50);
};
lastScroll = nowScroll;
});
See the Pen [jQuery] scroll iOS bounce effect _ 스크롤 방향 감지 이벤트 (아이폰 사파리 바운스 이펙트 대응) by Jinsik Son (@Jinsik-Son) on CodePen.
'jQuery' 카테고리의 다른 글
[jQuery] data-tab 활용 탭 메뉴(tabs menu) (0) | 2023.08.05 |
---|---|
[jQuery] 팝업(popup) / 모달(Modal) 시 스크롤 비활성화 (iOS 포함 모든 기기) (0) | 2023.07.25 |
[jQuery] 스크롤(scroll) 방향 감지 이벤트 (0) | 2023.06.14 |
[jQuery] img 태그 경로(src) 변경 (0) | 2023.06.07 |
[jQuery] 마우스 오버(hover) 내려오는 드롭 메뉴 (0) | 2023.06.06 |