2015-09-24 3 views
0

После нажатия на элемент li я добавил активный класс с помощью js, но он приводит к другой странице, и активный класс исчезает. Я использую bootstap navwalker, поэтому не знаю, как использовать в нем PHP-код.Добавление класса в подменю после перезагрузки страницы

<div id="cssmenu" class="right-tabs"> 

<ul> 
    <li></li> 
    <li> 
    <ul role="menu" class=" dropdown-menu"> 
     <li><a href="link.php">link</a></li> 
    </ul> 
    </li> 
    <li><a href="page.php">page</a></li> 
</ul> 

</div> 

JS

$(document).ready(function(){ 
$(".dropdown-menu > li").click(function() { 
     $(this).siblings().removeClass("active"); 
     $(this).addClass("active"); 
}); 
}); 
+1

На стороне сервера при создании меню следует отметить соответствующий элемент html с активным классом согласно запрашивающей странице. – xxxmatko

+0

@xxxmatko как я могу это достичь? –

+0

Допустим, что элемент 'li' перенаправляет пользователя на страницу' something.php', поэтому на стороне сервера, когда вы будете отображать меню, если вы создаете пункт меню для 'something.php', вы добавите класс' active' в текущий элемент 'li'. вы можете получить url на стороне сервера в php, не так ли? – xxxmatko

ответ

0

Не могли бы вы просто добавить класс, основанный на URL?

Пример Если предположить, что на странице о

$(function() { 
    var loc = window.location.href; // returns the full URL 
    if(/about/.test(loc)) { 
    $('.dropdown-menu > li .about').addClass('active'); 
    } 
}); 
+0

Хотя он будет устанавливать 'active' на каждой странице, где есть слово« внутри », это' href' – xpy

+0

, если переменная «loc» возвращает полный URL-адрес, почему у нас есть «/about/.test(loc» »в условии if –

0

в link.php, добавить активный класс

<div id="cssmenu" class="right-tabs"> 

<ul> 
<li></li> 
<li class="activeClass"> 
    <ul role="menu" class=" dropdown-menu"> 
    <li><a href="link.php">link</a></li> 
    </ul> 
</li> 
    <li><a href="page.php">page</a></li> 
</ul>