채택완료

.resize(function() 이렇게 쓰는게 맞나요?

2020-07-29 (수) 13:45:17 2,186

제가 

$(document).ready(function () {
                    $(".nav_headmenu>a").click(function () {
                        var submenu = $(this).next("div");

                        if (submenu.is(":visible")) {
                            submenu.slideUp();
                        } else {
                            submenu.slideDown();
                        }

                    });
                });

라는 코드가 화면 해상도 768밑에서만 작동되도록 하기위해서 

$(window).resize(function() {
    if($(window).width() < 768) {
                $(document).ready(function () {
                    $(".nav_headmenu>a").click(function () {
                        var submenu = $(this).next("div");

                        if (submenu.is(":visible")) {
                            submenu.slideUp();
                        } else {
                            submenu.slideDown();
                        }

                    });
                });
            };
});

이렇게 어두운 색상 부분의 코드를 추가해주었는데

작동을 했다가 안했다가

해상도를 줄였다가 키우면 작동했다가

키운상태로 새로고침하면 안움직였다가

드롭다운메뉴에 관한 부분인데 다운되었다가 바로 올라가버리고..

엉망진창으로 움직입니다.. 도와주세요..

|

답변 1개 / 댓글 1개

채택된 답변
+20 포인트
Copy
$(".nav_headmenu>a").click(function () {
    if($(window).width() < 768) {
                        var submenu = $(this).next("div");

                        if (submenu.is(":visible")) {
                            submenu.slideUp();
                        } else {
                            submenu.slideDown();
                        }

 }

                    });

리사이즈 구문 지우시고 위처럼 하시면 됩니다.
지금 질문글에 쓰신 소스는  최초 창크기와 상관없이 사용자가 창크기를 변경하여
768미만의 창크기 일 때 클릭이벤트가 계속 등록되는 구문입니다.

답변에 대한 댓글 1개

갑사합니다..세상에 절받으세요..

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