그누보드5 입니다.
웹서핑해서 펼침메뉴를 구했는데 이 메뉴를 닫으면 쿠키저장이 되서 다음에 접속하면 닫힌상태가 되어야 됩니다. 그게 잘 안되네요. 뭐가 더 필요한지 좀 봐주세요..
<script>
function showTopMenu()
{
$('#topSubmenu').toggle();
$('#mclose').toggleClass('bt_mopen');
if($('#topSubmenu').css('display') == "none")
{
set_cookie('topsubmenu','close', 86400 * 31);
}
else
{
set_cookie('topsubmenu','open', 86400 * 31);
}
}
</script>
<ul id="topSubmenu" class="submn" style="display:<?php if (get_cookie("topsubmenu")=="close"){ echo "none";}?>">
메뉴내용 (중략)
</ul>
<p class="tmbtn"><a href="javascript_:showTopMenu()" class="<?php if (get_cookie("topsubmenu")=="close"){ echo "bt_mopen"; } else { echo "bt_mclose";}?>" id=mclose><span>메뉴숨기기</span></a></p>
쿠키가 안굽히는것 같습니다...
답변 2개 / 댓글 1개
채택된 답변
+20 포인트
11년 전
common.js 파일과 common.lib.php 파일의 get_cookie 함수의 코드를 비교해보시면
아시겠지만 common.js 파일에서는 쿠키의 이름을 입력받은 그대로 저장하는 반면
common.lib.php 파일의 get_cookie 함수는 md5를 이용해 이름을 암호화합니다.
따라서 자바스크립트에서 get_cookie를 이용해 쿠키를 생성했다면 php 의 get_cookie 함수 대신
$_COOKIE 를 사용해야 합니다. get_cookie("topsubmenu") 를 $_COOKIE['topsubmenu'] 로
수정해야합니다.
답변에 대한 댓글 1개
11년 전
스크립트부분은 놔두고 메뉴부분에 get_cookie만 수정하면 된단말씀이신지요? 해도 똑같이 반응이 없는데 다른건 그대로 둬도 되는건가요?
11년 전
<script language="JavaScript">
<!--
cookiedata = document.cookie;
if ( cookiedata.indexOf("ncookie=done") < 0 ){
document.getElementById('topsubmenu').style.display = "block";
} else {
document.getElementById('topsubmenu').style.display = "none";
}
-->
</script>
팝업에 사용하던건데 이거 한번 적용해보세요
답변을 작성하려면 로그인이 필요합니다.