본문 바로가기
개발/Javascript

[js] 홈페이지 배너 팝업창 띄우기, 창닫기

by 코딩하는 갓디노 2020. 6. 28.

 

홈페이지를 운영을 하다 보면, 꼭 필요한 이벤트나
공지 배너를 홈페이지 첫 창에 띄우는 일이 많습니다.

배너 이미지를 자바스크립트를 이용하여 팝업창에 띄우고, 
창닫기를 구현해 보겠습니다. 


 

먼저 팝업창에 띄울 배너를 만들어야겠지요?
저는 아래의 이벤트 배너를 사용하겠습니다. (사이즈: 500X500 px)

 

window.open() 메서드를 이용하여 팝업 창을 나타내고, 이를 위해서는 2개의 웹페이지가 필요합니다.

하나는 배너가 들어간 팝업 창으로 나타낼 페이지이고, 또 하나는 팝업 창을 띄우도록 해주는 오픈 페이지입니다.

팝업 창 띄우기를 시작하기 전에 여러분의 브라우저(크롬 또는 익스플로러)에서 팝업 창이 차단되어 있으면 팝업 창을 나타낼 수 없습니다. 브라우저의 환경설정에 들어가서 팝업 창이 차단되어 있을 경우, 해제해 주세요.

· 미리 체크! 크롬 팝업 창 차단/해제 방법:

크롬 주소 창 오른쪽 위에 더보기 버튼 클릭
설정 클릭
하단의 고급 클릭
'개인 정보'에서 콘텐츠 설정 클릭
팝업 선택
차단(권장) 허용됨 표시로 바꾸기

먼저 배너 들어간 팝업 창입니다.

<html>

<img src="https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fk.kakaocdn.net%2Fdn%2FbZPA17%2FbtqFcOe15FF%2FINpx7Bp7f6Ptp6JoTl8UA1%2Fimg.jpg" usemap="#popup" alt="event page">
<map name="popup" id="popup">
<area shape="rect" coords="380,457,487,492" href="#" alt="close" onclick="window.close();">
</map>

 

한 번에 보기(Result 클릭)

map 태그는 이미지 맵(클릭할 수 있는 영역을 설정하여 지정장소로 이동하거나, 창닫기와 같은 메서드 삽입)을 만드는 태그입니다.

저는 팝업창 닫기를 사용하기 위하여 map 태그에 window.close 메서드를 사용하였습니다.

· map은 area 요소를 포함
· area에서 shape(영역 모양)
· coords 좌표 위치 지정
· img 태그에서 usemap의 이름과 map의 이름이 동일해야 합니다.
· map에서 name과 id를 중복 사용한 이유는 name 속성이 xhtml에서는 퇴화 속성이기 때문입니다.
· shape는 영역 모양이고, rect(사각형), circle(원형), poly(다각형), default(기본값으로 전체 영역)의 속성 값이 있으며,
주로 rect을 많이 사용합니다.
· coords는 영역 좌표값이고,
x1, y1, x2, y 2가 속성 값으로
사각형의 왼쪽 위 모서리와 오른쪽 아래 모서리의 좌표를 명시합니다.
단, shape 속성 값이 “rect”인 경우에만 사용할 수 있음).
이때 해당 영역의 왼쪽 위 모서리의 좌표는 언제나 (0,0)이 됩니다

좌표를 설정하기 위해서 저는 포토샵의 info 또는 그림판을 사용했습니다.



 

이제 팝업 창을 띄우도록 해주는 오픈 페이지입니다.

window.open 메서드의 기본형은
window.open("url", "새 창 이름", "새 창 옵션");
-> window.open("팝업될 문서 경로", "팝업될 문서 이름", "옵션");
새 창 옵션에서 width, height, left, top, scrollbar의 속성을 설정합니다.

여기서 주의할 사항!
3가지 다 필수사항이므로 문서 이름을 안쓰려면, window.open("url","","옵션"); 으로 설정해주세요.
window.open("팝업될 문서 경로", "팝업될 문서 이름", "옵션");

 

새로운 html 문서를 생성하고, 아래의 코드를 삽입해 주세요.

<javascript>

<script>
    window.open("popuppage.html","popup","width=500, height=500, left=0, top=0")
</script>

 

새 창의 페이지 주소는 "popuppage.html"(배너 이미지가 들어간 팝업 창)이며,
창 이름은 popup이고,
너비 500px, 높이 500px,
왼쪽 상단 위치에서 팝업 창이 생성되도록 설정했습니다.

짠! 다음과 같이 오픈 페이지를 브라우저에서 실행하면 작성한 팝업 창(popuppage.html) 페이지가 결과 화면에 나타납니다.



반응형

댓글


Buy Me A Coffee
커피 한잔 사주세요.