Ответ 1
Что я назначаю и id для каждой ссылки в списке, которая также является именем страницы, и создала функцию js, вызываемую при загрузке тела страницы. функция получает текущее имя файла из url и определяет, какая страница это, а затем js я сделал этот класс ссылок активным. это решает мою проблему. однако я разделяю это решение для улучшения других.
<body onload="get_current_page()">
<div id="MainMenu">
<div class="list-group panel">
<a id="whylist" href="#why" class="list-group-item" data-toggle="collapse" data-parent="#MainMenu">Menu 1</a>
<div class="collapse" id="why">
<a id="values" href="values.html" onclick="activate(this)" class="list-group-item" data-toggle="collapse" data-parent="#SubMenu1">Menu 1 a</a>
<a id="ambassadors" href="ambassadors.html" onclick="activate(this)" class="list-group-item">Menu 1 b</a>
<a id="documentary" href="documentary.html" onclick="activate(this)" class="list-group-item">Menu 1 c</a>
</div>
<a id="joinuslist" href="#joinus" class="list-group-item" data-toggle="collapse" data-parent="#MainMenu">Menu 2</a>
<div class="collapse" id="joinus">
<a id="my-profile" href="my-profile.html" onclick="activate(this)" class="list-group-item">Menu 2 a</a>
<a id="students" href="students.html" onclick="activate(this)" class="list-group-item">Menu 2 b</a>
<a id="forecast-career" href="forecast-career.html" onclick="activate(this)" class="list-group-item">Menu 2 c</a>
<a id="faqs" href="faqs.html" onclick="activate(this)" class="list-group-item">Menu 2 e</a>
</div>
</div>
</div>
</body>
<style type="text/css">
.list-group-item.active:hover,{
background-color: #aed248; !important;
border-color: #aed248; !important;
}
.list-group-item.active, .list-group-item.active:hover {
background-color: #007715; !important;
border-color: #aed248; !important;
}
#joinus .list-group-item.active, .list-group-item.active:hover {
background-color:#adce1b; !important;
border-color: #adce1b; !important;
}
#whyptcl .list-group-item.active, .list-group-item.active:hover {
background-color:#adce1b; !important;
border-color: #adce1b; !important;
}
.panel {
margin-bottom: 20px;
background-color: transparent; !important;
border: 0px solid transparent;
border-radius: 5px;
-webkit-box-shadow: 0 1px 1px rgba(0,0,0,.05);
box-shadow: 0 1px 1px rgba(0,0,0,.05);
}
</style>
function get_current_page()
{
var pathArray = window.location.pathname.split( '/' );
var current_page = pathArray[pathArray.length-1];
current_page_array = current_page.split(".");
current_page = current_page_array[0];
if (current_page =='students' || current_page=='my-profile' || current_page=='faqs' || current_page == 'forecast-career'){
document.getElementById("joinuslist").className += " active";
document.getElementById("joinus").className += " in";
if (current_page == 'students') {
document.getElementById("students").className += " active";
}
else if (current_page == 'faqs') {
document.getElementById("faqs").className += " active";
}
else if (current_page == 'forecast-career') {
document.getElementById("forecast-career").className += " active";
}
else if (current_page == 'my-profile') {
document.getElementById("my-profile").className += " active";
}
else{
}
}
else if(current_page == 'values' || current_page == 'ambassadors' || current_page == 'documentary'){
if(current_page== 'values'){
document.getElementById("values").className += " active";
}
else if (current_page== 'ambassadors') {
document.getElementById("ambassadors").className += " active";
}
else if (current_page== 'documentary') {
document.getElementById("documentary").className += " active";
}
else{
}
}
}