🕹 스크립트

페이지로드가 됐을때 setTimeout 스크롤이벤트

(。θᗨθ。) 2022. 6. 7. 15:46
window.onload = function () { //페이지 열면
    const thisLocation = window.location.href; //현재주소

    if($(".subTitle").length){ //서브타이틀이 있으면
        function bMatch(){ //주소에 해당하는 글자가 있으면 스크롤애니메이션 없애기위해
            clearTimeout(timer);
            $('html, body').animate({
                scrollTop: $('.subpage .subTitle').outerHeight()-85
            }, 0);
        };

        let timer = setTimeout(function() { // 2초뒤에 서브타이틀 높이만큼 스크롤 됨
            $('html, body').animate({
                scrollTop: $('.subpage .subTitle').outerHeight()-85
            }, 800); 
        }, 2000); 

        let wheel = $("body").on('mousewheel',function(e){ //스크롤이벤트
            var wheel = e.originalEvent.wheelDelta; 
    
            if(wheel = true){  //스크롤이 되면
              clearTimeout(timer); //셋타임아웃 없앰, 클리어타임아웃 쓰려면 셋타임 변수에 담아야함
            }
       
        });

        if (thisLocation.match('index.php')) { //인덱스 건너뜀
        } else if(thisLocation.match('&sca=') || thisLocation.match('&page=')) { //게시판부분 저 글자가 들어가면 스크롤 애니메이션 없앰
            bMatch();
        }  else { //서브페이지
            let height = $(document).scrollTop();

            if(height == 0){ //스크롤이 최상단에 있으면
                timer(); //셋타임아웃
            } else { //최상단이 아니라면
                wheel(); //스크롤이벤트없앰
            }
        }
    }
};
728x90