jQuery/jQuery 기본

제이쿼리 위에서 아래로 모달팝업 on / is /

hyojinny 2022. 11. 2. 14:59

 전체메뉴 버튼 클릭시 전체 모달 팝업이 내려옴

 

버튼 다음으로 나와야하기때문에 

태그를 버튼 다음으로 

키보드 접근성을 맞춰야 되기 때문에 

탭키도 마찬가지 

 

무조건 클릭하는 요소 다음으로 배치한다

 

  // 헤더전체메뉴
  $('#header .btn_all').on('click', function () {
    $('#header .all_menu_wrap').fadeIn().addClass('on');
  });
  $('#header .btn_close').on('click', function () {
    $('#header .all_menu_wrap').hide().removeClass('on');
  });

 

 

 

 

  $('#header .btn_all').on('click', function (e) {
    e.preventDefault;
    $('#header .all_menu_wrap').fadeIn().addClass('on');
  });
  $('#header .btn_close').on('click', function () {
    $('#header .all_menu_wrap').hide().removeClass('on');
  });

 

 

 

 

 

 

 

문제점

검색모달이 열린상태에서 전체모달을 키면 두개가 겹쳐 나옴

 

#header .btn_all 클릭시 .search_wrap 이 열려있으면

search_wrap을 닫기

 

(판단조건 : $('.search_wrap').css('display')이 block 이면 열려있는것

 

 

if ($('#header .search_wrap').css('display') === 'block') {
  $('#header .util_wrap .btn_toggle').removeClass('on');
  $('#header .search_wrap').slideUp();
  $('.dimmed').hide();
}

더 간단히 트리거로 단축 

    if ($('#header .search_wrap').css('display') === 'block') {
      $('#header .util_wrap .btn_toggle').trigger('click');

      // 위쪽 btn_toggle on click 을 트리거로 강제 시행시 하위요소 꺼짐
      // $(this).toggleClass('on');
      // $('#header .search_wrap').slideToggle();
      // $('body').toggleClass('on');
    }

 

 

    if ($('#header .search_wrap').is(':visible')) {
      $('#header .util_wrap .btn_toggle').trigger('click');
    }
$(element).is(":visible")

is 로 요소가 있으면 true 로 인식