테스트 사이트 - 개발 중인 베타 버전입니다

반응형 js resize 질문이요,, 채택완료

dkdh12 3년 전 조회 2,159

if ($(window).width() > 1570) {

    var $html = $("html");

    var page = 1;

 

    if (window.localStorage) {

        if (localStorage.getItem("pageA.page") != undefined)

        page = localStorage.getItem("pageA.page");

    }

 

    var lastPage = $("section").length;

 

    $html.animate({ scrollTop: 0 }, 10);

 

    $(window).on("wheel", function (e) {

 

        if ($html.is(":animated")) return;

 

        if (e.originalEvent.deltaY > 0) {

            if (page == lastPage) return;

            page++;

        } else if (e.originalEvent.deltaY < 0) {

            if (page == 1) return;

            page--;

        }

 

        if (window.localStorage)

        localStorage.setItem("pageA.page", page);

 

        var posTop = (page - 1) * $(window).height();

        $html.animate({ scrollTop: posTop });

    });

}

 

1570보다 작아졌을땐 해제시키고 커졌을땐 다시 적용이 되어야하는데

창의 크기를 작게 하면 또 새로고침 해야하고 다시 크게하면 또 새로고침 해야지 적용이 됩니다..

새로고침 하지않고 저절로 적용이 되는법이 궁금합니다,,, resize 코드로 하면 된다던데 해도 안됩니다

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트

<script>

onresize = function() {

    해당코드

}

onresize();

</script>

 

그리고 이 경우는 로컬스토리지보다는 세션스토리지를 쓰는 게 좋습니다

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

3년 전

해당 코드를

$(window).resize(function(e){

 

});

 

로 감싸주세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

d
dkdh12
3년 전
해봤는데 안되네요,, 저거 마우스 wheel 화면단위이동 코드인데 다른형태 resize 코드를 써도 안되더라구요,, 답변 감사합니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인