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

addclass 유지 어떻게하나요? 채택완료

코쟁히 3년 전 조회 2,411

</p>

<p><script>

 $(document).ready(function() {

  $('ul li').click(function(){

    $('li').removeClass("active");

    $(this).addClass("active");

});

});

</script></p>

<p><div class="realside_menu">

        <ul>

            <li><a href="<a href="https://도메인/realqna">실시간문의</a></li>" target="_blank" rel="noopener noreferrer">https://도메인/realqna">실시간문의</a></li></a>

            <li><a href="<a href="https://도메인/realqna/area/충남">문의" target="_blank" rel="noopener noreferrer">https://도메인/realqna/area/충남">문의</a> 이용방법</a></li>

        </ul>

    </div></p>

<p>

 

메뉴를 클릭하면 li에 active가 활성화됐다가 유지가 안되고 사라집니다;;

유지할라면 어떻게해야하나요?

url을 가지고와서 뭐 어떻게 한다고 하던데.. 잘안됩니다ㅠ 도와주세요

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

답변 3개

채택된 답변
+20 포인트
포이치
3년 전

페이지가 이동되면 스크립트로 addclass 는 당연히 사라집니다.

사이트 구성이 어찌되어있는지 모르겠지만 보통 php 를 이용한다면

아래처럼 url 에서 일부문자열이 포함되지를 얻어서 직접 클래스를 대입해줍니다.

 

</p>

<p>/*</p>

<p>$_SERVER['REQUEST_URI'] 에는 현재 페이지 URL 이 풀로 들어가있습니다. 파라메터까지

즉 현재페이지가 어떤건지 알수있는지 url 일부분을 대입해주시면 됩니다.</p>

<p>*/



<ul></p>

<p>    <li class='<?php if(strpos($_SERVER['REQUEST_URI'],'abcd.php?test=1')!==false) echo "active"?>'>메뉴1</li></p>

<p>    <li class='<?php if(strpos($_SERVER['REQUEST_URI'],'abcd.php?test=2')!==false) echo "active"?>'>메뉴2</li></p>

<p></ul></p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

코쟁히
3년 전
헐 이렇게 하는 방법이 있었군요.. 감사합니다ㅠ
코쟁히
3년 전
혹시 한가지 궁금한것이 스크립트로 이 기능을 구현했을때와 님께서 말씀해주신 방법으로 구현했을때 차이점은 어떤것이 있을까요?

홈페이지 페이지 속도나 SEO 측면에서 차이가 없는지요..

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

2년 전

도움이 되었습니다 감사합니다

로그인 후 평가할 수 있습니다

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

3년 전

페이지 이동시에는 리액트나 뷰같은 SPA를 활용하시는게 아니면 php나 java 등 서버사이드 언어쪽에서 작업하셔야 합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

코쟁히
3년 전
현재 url 기준으로 클래스 붙여서 유지시키는 방법이 있는거 같더라구요..

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

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

로그인