이것이 가능한지 전혀 모르겠지만 지금은 링크가 잔뜩있는 왼쪽 탐색 모음이 있습니다. 나는 현재 링크를 가리키는 URL과 현재 페이지 URL을 확인하여 클릭하는 링크 항목에 상관없이 활성 클래스 (상태)를 추가합니다. 이것은 잘 작동합니다.jQuery : 활성 클래스/상태를 추가하고 보유하십시오!
$("#sidebar-nav ul li a").each(function() {
if(this.href == window.location || this.href == document.location.protocol + "//" + window.location.hostname + window.location.pathname)
$(this).addClass("active");
});
는 그러나, 나는 각각의 사이드 바 링크는 그래서 "카테고리"를 나타냅니다 때문입니다. 사람들이에 착륙 초기 페이지의 다른 페이지에서 클릭하는 동안 해당 요소의 활성 상태/클래스를 "유지"계속 필요 나는 URL이 일치하는 첫 페이지뿐만 아니라 전체 사이드 바 링크를 활성화하고 싶습니다.
사용자가 처음 방문한 페이지를 클릭하면 URL이 더 이상 일치하지 않으므로 활성 상태가 손실됩니다. 다른 sidbar nav를 클릭하면 활성 상태 만 제거되도록합니다. 희망적이라고 생각 되긴하지만 사람들이 사이드 바 nav ul의 다른 요소를 클릭하지 않는 한 처음에는 활성 상태로 설정하는 "hold"방법이 있습니까?
html로 :<div id="sidebar-nav">
<ul>
<li><a href="link1">Link One</a></li>
<li><a href="link2">Link Two</a></li>
<li><a href="link3">Link Three</a></li>
<li><a href="link4">Link Four</a></li>
</ul>
</div>
HTML을 게시 할 수 있습니까? – Chandu
게시 됨. 문제는 내가/category1/link1 category1/link2와 같은 구조를 가지고 있지 않다는 것입니다 ... 그래서 아래의 제안은 작동하지 않습니다. – IntricatePixels
구조의 예제를 게시 할 수 있습니까? 본질적으로 URL에있는 항목은 유연한 솔루션을 원할 때 어떤 범주에 있는지 파악해야합니다.그렇지 않으면 특정 링크를 찾아 자바 스크립트의 하드 코딩 된 배열로 범주에 매핑 할 수 있지만 그렇게하면 유지 관리의 악몽을 만들 수 있습니다. – Adrian