테스트 사이트 - 개발 중인 베타 버전입니다

그누보드 메뉴 생성 후 메뉴 클릭시 색상 넣기 질문입니다. 채택완료

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년 전
답변 감사합니다.
어떤 말씀인지 이해는 되네요~ 매칭시켜서 처리하는게 맞는게 답인듯한데,
샘플코드로 응용해보았지만 안되네요 ㅠㅠ

코딩만 하던지라 참 어렵네요 ㅠㅠ
다시 한번 답변주셔서 감사합니다 ^^

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인