그누보드 메뉴 생성 후 메뉴 클릭시 색상 넣기 질문입니다. 채택완료
DSLOVE
7년 전
조회 2,607
안녕하세요. ^^
그누보드 메뉴 생성 한 후에요..
클릭한 메뉴에 색상을 넣고 싶어서 헤딩중인데 잘 안되네요 ㅠㅠ
</p>
<p> <li class="gnb_1dli" style="z-index:<?php echo $gnb_zindex--; ?>">
<a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_1da">
<span><?php echo $row['me_name'] ?></span>
</a></p>
<p>.... 생략</p>
<p>
이렇게 "<?php echo $row['me_name'] ?>" 앞에 span 으로 감싼후
클릭시 class 추가를 위해, 스크립트를 검색해서 만들어봤는데요.
</p>
<p><script type="text/javascript">
$(function() {
$('span').click(function() {
$(this).addClass('menu_on')
})
})
</script></p>
<p>
menu_on 은 css 에서 red 색상을 넣어놨습니다.
클릭시 red 색상이 보였다가 다시 빠져버리네요 ㅠㅠ
클릭후 class 가 계속 유지되게끔 하는 코드가 필요한듯한데..
코딩만 주로 하는 코더입니다 ㅠㅠ
조언 주실 분 계실까요? ^^
제 글 읽어주셔서 감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
7년 전
<a href="page1.php">메뉴1</a>
<a href="page2.php">메뉴2</a>
메뉴1 클릭시 page1.php, 메뉴2 클릭시 page2.php 로 이동됩니다.
그래서 원했던 바를 구현하려면, 클릭시 이벤트에 주는 것이 아닌,
이동된 페이지에서, 해당 페이지의 url 과 메뉴의 링크주소(href)가 같은 것을 찾아
처리하는 것이 맞지 않을까 합니다.
샘플 코드입니다.
</p>
<p>current_page_link = document.location.href;</p>
<p>$(".gnb_1dli a").each(function(){
var _href = $(this).attr("href");
if (_href == current_page_link || _href.indexOf(current_page_link) > -1 ) {
$(this).addClass('menu_on');
}
});</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
D
DSLOVE
7년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
어떤 말씀인지 이해는 되네요~ 매칭시켜서 처리하는게 맞는게 답인듯한데,
샘플코드로 응용해보았지만 안되네요 ㅠㅠ
코딩만 하던지라 참 어렵네요 ㅠㅠ
다시 한번 답변주셔서 감사합니다 ^^