햄버거 메뉴를 작동이 되지않아요.
본문
도메인을 클릭하면 index.php가 아닌 bbs/board.php?bo_table=diary 게시글로 이동하기 위해서 리타이렉트를 걸었고, 메인도 사용할거기때문에 메인으로 가는 방법으로는 index.php에 아래와 같이 소스를 넣어주고 logo에 id=home을 주었습니다.
<?
if(!$id=='home'){
goto_url(G5_BBS_URL."/board.php?bo_table=diary");
}
?>
그런데 '도메인/?id=home'일때만 햄버거 메뉴가 작동이 되지않아요.
(ex. www.naver.com/?id=home)
햄버거소스
<div class="header" style="">
<div class="header_top">
<div class="me">
<img id="sub_menu_btn" style="margin:5px 0px 0px 15px; " src="/theme/basic/mobile/img/sub_menu_btn.png" width="50px;">
</div>
<div class="main_logo">
<a href="/?id=home">
<img src="/theme/basic/mobile/img/logo.png" style="width:100%" />
</a>
</div>
</div>
<script>
$(document).ready(function(){
$(".me").click(function(){
if($(this).hasClass("active")){
$(".total_menu").hide();
$(this).removeClass("active");
$("#sub_menu_btn").attr("src","/theme/basic/mobile/img/sub_menu_btn.png");
}else{
$(".total_menu").show();
$(this).addClass("active");
$("#sub_menu_btn").attr("src","/theme/basic/mobile/img/sub_menu_btn_on.png");
}
});
$('.m_lnb').click(function(e) {
e.preventDefault();
if(!$(this).hasClass("selected")){//열기
$(".submenu").slideUp(200);
$(".m_lnb").removeClass("selected");
var getclass = $(this).attr("id");
var getclassArr = getclass.split("_");
$("#sub"+getclassArr[2]).slideDown(200);
$(this).addClass("selected");
}else{ //닫기
var getclass = $(this).attr("id");
var getclassArr = getclass.split("_");
$("#sub"+getclassArr[2]).slideUp(200);
$(this).removeClass("selected");
}
});
});
</script>
도메인/?id=home일때 햄버거메뉴가 작동하려면 어떻게 해야할까요?
답변으로
[id 라는 이름이 중복되서 php 에서 get 으로 id 를 써야 되는데 이게 꼬인게 아닌가 싶네요
id 가 아닌 다른 중복되지 않을 이름으로 바꿔서 테스트 해보시길 추천합니다.]
이렇게 말씀해주셨는데, 잘 이해가 되지않아서요. 무슨 뜻일까요?
답변 2
햄버거메뉴란게 누르면 햄버거메뉴로 랜딩페이지 위치로 내려가는건가요??
햄버거메뉴를 둘러싼 html태그소스에 id="home"을 넣어주시고
도메인/?id=#home 으로해보세요
스크립트의 경우
보통 현재 페이지에서 문제가 발생하는경우도 있지만
특정 페이지에서 오류가 나거나 작동이 안될경우
선행 스크립트 오류 문제일수도 있습니다.
특히 스크립트는 순차적으로 로드 되는데
바로 위 스크립트 오류시 아래 스크립트도 로드되지 않는 경우가 많습니다.
페이지 URL 을 기재해주지 않는이상
어떤 오류가 발생하는지 본문만으론 정확하게 알수가 없습니다.