반응형
map 태그를 사용해서 이미지맵을 만들어 각각의 버튼에 함수를 호출하도록 하였습니다.
자바스크립트에서 쿠키의 이름, value, 기간을 체크해 레이어 팝업을 visible / hidden 할지 체크합니다.
닫기 버튼을 클릭했을 경우는 레이어 팝업을 숨김 처리하고, 하루 동안 열지 않기를 체크하면 쿠키를 저장해서
다음 페이지에 진입 시 하루 동안 레이어 팝업을 노출하지 않게 됩니다.
레이어 팝업 영역을 확인하시고 소스를 응용해서 사용하시면 됩니다.
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-rwdImageMaps/1.6/jquery.rwdImageMaps.min.js"></script>
<script language="JavaScript">
(function($){
$(document).ready(function(e) {
$('img[usemap]').rwdImageMaps();
});
})(jQuery);
function setCookie( name, value, expiredays ) {
var todayDate = new Date();
todayDate.setDate( todayDate.getDate() + expiredays );
document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}
function closePop() {
setCookie( "popdiv", "done" , 1 );
document.all['pop'].style.visibility = "hidden";
}
function layer_notice() {
document.all['pop'].style.visibility = "hidden";
}
</script>
<div id="pop">
<div>
<img src="./tt.png" usemap="#Map9" />
<map name="Map9" id="map9">
<area shape="rect" coords="23,273,86,300" href="javascript:layer_notice()" />
<area shape="rect" coords="401,279,415,293" href="javascript:closePop()" />
</map>
</div>
</div>
<script language="Javascript">
cookiedata = document.cookie;
if ( cookiedata.indexOf("popdiv=done") < 0 ){
document.all['pop'].style.visibility = "visible";
}else {
document.all['pop'].style.visibility = "hidden";
}
</script>
이미지 맵 좌표 구하는 글은 아래에 링크로 남겨 놓겠습니다.
반응형
'개발이야기 > 자바스크립트' 카테고리의 다른 글
[자바스크립트] 더보기 (more) 버튼으로 리스트 노출하기 (2) | 2022.11.03 |
---|---|
[자바스크립트] 실시간 시계 만들기 (타이머) (0) | 2022.10.21 |
[자바스크립트] Apexcharts 사용법, 예제, 차트 그리기 (0) | 2022.10.20 |
[자바스크립트] javascript 테이블 병합하기 (table td rowspan) (0) | 2022.10.13 |
[자바스크립트] javascript 테이블 정렬하기 (table sort) (2) | 2022.10.13 |
댓글