이전 목록 다음
채택완료

반응형 js resize 질문이요,,

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개 / 댓글 1개

채택된 답변
+20 포인트
2021-11-23 (화) 17:35:44

<script>

onresize = function() {

    해당코드

}

onresize();

</script>

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

해당 코드를

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

});

로 감싸주세요

답변에 대한 댓글 1개

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

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