2014-05-12 3 views
0

내 메뉴에서 2 개의 다른 항목을 강조 표시 할 수 있는지 알고 싶었습니다. 그렇지 않으면 2 개의 다른 활성 클래스가 강조 표시됩니다. 그렇지 않으면 2 개의 항목을 강조 표시 할 수 있습니다. home2를 선택하면 집도 선택됩니다.하지만 집 2를 떠나면 집 2와 집은 더 이상 강조 표시되지 않습니다. 문제는 다음을 클릭 할 때 home2 항목에 머무르는 것입니다. 앞으로 나아갈 수 없습니다. HERE MY FIDDLEjQuery 메뉴 추가 2 활성 클래스

<li id="liid1"><a href="#home">Home</a></li> 
<li id="liid2"><a href="#home2">home2</a></li> 
<li><a href="#newsletter">Newsletter</a></li> 

내 jQuery를 :

if($('#liid2').hasClass(name)) { /*alert('item2 active');*/ 
      $('#liid1').addClass('active'); 

           } 
      else if ($('#liid2').hasClass(name) && $('#liid1').hasClass(name)) { 
       $('#liid1').removeClass('active'); 
      } 
+3

** ID는 ** 유일해야합니다 ** –

+0

안녕하세요, 나는 그것을 할 수 없다는 것을 의미합니까? – user979974

+0

당신의 바이올린은 저를 위해 잘 작동합니다. 뭐가 문제 야? – graphicdivine

답변

1

귀하의 질문에 대한 해결책은 arrray에 last() 요소의 인덱스를 선택 추가하고있다.

positionActiveClass = menu.find("> li.active").last().index(), 

을 모두 완벽 작품이 될 것입니다 : 그냥 따라 문자열 47을 수정합니다. 체크 아웃 fiddle

+0

안녕하세요, Dnister Lark, 너의 도움을 위해 많은 도움을. 그것은 작동합니다. 유일한 것은, 만약 내가 actor2와 actor3 배우에 있다면 너무 강조해야합니다. 내가 무엇을 수정해야하는지 안다? – user979974

+0

나는 그랬다 : – user979974

+0

user979974, 환영합니다), 또한 내 의견을 귀하의 질문에 대한 답변으로 승인 할 수 있습니다. 잠시 후, 나는 대답을 주석으로 수정하고 링크를 여기에 넣는다. –

0

나는 수정의 좀 이런 짓을 :

<li id="liid1"><a href="#home">Home</a></li> 
     <li class="hide" id="liid2"><a href="#home2">home2</a></li> 
     <li><a href="#newsletter">Newsletter</a></li> 
     <li><a href="#directions">Directions</a></li> 
     <li><a href="#directions2">Directions2</a></li> 
     <li><a href="#contact">Contact us</a></li> 
     <li id="liidactor1"><a href="#actor">actor</a></li> 
     <li id="liidactor2" class="hide"><a href="#actor2">actor2</a></li> 
     <li id="liidactor3" class="hide"><a href="#actor3">actor3</a></li> 
     <li><a href="#calendar">calendar</a></li> 

나는 JQuery와에 다음 문을 추가 : 또한

if($('#liid2').hasClass(name)) { /*alert('item2 active');*/ 
       $('#liid1').addClass('active'); 

            } 
       else if($('#liidactor2').hasClass(name)) { /*alert('item2 active');*/ 
       $('#liidactor1').addClass('active'); 

            } 
       else if($('#liidactor3').hasClass(name)) { /*alert('item2 active');*/ 
       $('#liidactor1').addClass('active'); 

            } 

당신이 저를 adviced 같이

positionActiveClass = menu.find("> li.active").last().index(), 

당신은 그것이 확실한가요?

+1

추가 답변을 찾으려면 답변을 게시해서는 안됩니다. 원래 질문을 만족시키는 실제 해결책에 대한 답변 게시를 제한하십시오. – filoxo

+0

ok filoxo, 죄송합니다. 그것은 주목된다. – user979974

관련 문제