팝업 범위를 벗어난 클릭으로 팝업을 닫는 방법

프로그래밍 공부 일기



2020년 7월 7일 Progate Lv.148
포트폴리오 작성 중

팝업 만드는 법



이 기사 에서 소개한 대로 jQuery로 팝업을 작성한다.
이번에는 아래 사진과 같이 이미지를 클릭하면 팝업이 표시되고, 팝업 이외를 클릭하면 팝업이 닫히는 것을 만든다.



HTML 파일
<div class="travel">
  <img src="../photo/travel.PNG" class="button buttonTravel">

  <div class="pop_up popTravel">
    <div class="contentPopup">
      <a href="https://mzmz02.github.io/travel/" target="_blank">
        <img src="../photo/travel.PNG">
      </a>

      <h2>Europe Travel</h2>
      <h3>使用言語:HTML/CSS/jQuery</h3>
      <h3><a class="github" href="https://github.com/mzmz02/travel" target="_blank"><span class="fab fa-github"></span>GitHubページ</a> </h3>
    </div>
  </div>
</div>

CSS 파일
.pop_up{
    display:none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(227, 246, 245, 0.6);
    z-index: 2;
}

JS 파일
// 画像をクリックでポップアップを表示
$('.buttonTravel').click(function(){
  $('.popTravel').fadeIn();
});

범위를 벗어난 클릭으로 팝업 닫기



 클릭 이벤트 모두에 대해, 그 클릭이 자신(팝업 자신)을 포함하지 않는 것이면 닫도록(듯이) 한다.

JS 파일
// クリックイベント全てに対しての処理
$(document).on('click touchend', function(event) {
  // 表示したポップアップ以外の部分をクリックしたとき
  if (!$(event.target).closest('.buttonTravel').length) {
    $('.popTravel').fadeOut();
  }
});

좋은 웹페이지 즐겨찾기