2015-10-01 3 views
0

Я хочу использовать меню this на своей веб-странице. Поэтому я включаю это в index.phpДинамический класс кузова для активного стиля меню

Но каждый раз, когда я нажимаю меню и загружаю новую страницу, активный стиль меню (.active класс) исчезает, и он переходит к его первоначальному стилю. Таким образом, пользователи не могут понять, какую страницу они посещают прямо сейчас.

Интересно, могу ли я понять это с помощью классов тела? Например, могу ли я сказать «если класс тела - это что-то, что делает этот класс меню активным». Поэтому я мог бы изменить стиль активного меню и понять, на какой странице я нахожусь.

У меня есть 3 меню, и каждое меню имеет не менее 5 подменю.

\t \t <?php 
 
\t $pages = array('pageA','pageB','pageC'); 
 

 
\t \t if (!empty($_GET['page'])) { 
 
\t \t \t 
 
\t \t \t if(in_array($_GET['page'], $pages)) { 
 
\t \t \t \t $page = $_GET['page']; 
 
\t \t \t \t $id = $_GET['id']; } 
 
\t \t \t else { 
 
\t \t \t \t header("Location:error.php"); 
 
\t \t \t \t } } 
 
\t \t else \t { $page='empty';} \t \t 
 
\t \t ?> 
 
\t 
 
\t <body class = "<?php echo $page $id?>">

Это моя структура меню:

<ul> 
 
\t <li class="active"> 
 
\t <h3>pageA</h3> 
 
\t \t <ul> 
 
\t  \t <li><a href="index.php?pageA&id=1">1</a></li> 
 
\t \t \t <li><a href="index.php?pageA&id=2">2</a></li> 
 
\t \t \t <li><a href="index.php?pageA&id=3">3</a></li> 
 
\t \t \t <li><a href="index.php?pageA&id=4">4</a></li> 
 
\t \t \t <li><a href="index.php?pageA&id=5">5</a></li> 
 
\t \t </ul> 
 
    </li> 
 
\t <li> 
 
\t <h3>pageB</h3> 
 
\t \t <ul> 
 
\t  \t <li><a href="index.php?pageB&id=1">1</a></li> 
 
\t \t \t <li><a href="index.php?pageB&id=2">2</a></li> 
 
\t \t \t <li><a href="index.php?pageB&id=3">3</a></li> 
 
\t \t \t <li><a href="index.php?pageB&id=4">4</a></li> 
 
\t \t \t <li><a href="index.php?pageB&id=5">5</a></li> 
 
\t \t </ul> 
 
    </li>  
 
</ul>

+0

' ">' –

ответ

0

Вы можете попробовать его с JQuery.

на $(document).ready вы можете:

var currentPage = window.location.href; 
alert(currentPage);// just a test 

if(currentPage == "www.stackoverflow.com/rocks"){ 
    // style the body 
} 
0

Я не знаю много о PHP, но вы должны сделать что-то вроде этого:

Установить глобальную переменную PHP, которая устанавливает, какие страницы вы находитесь.

Что-то вроде $ Global_Page = "Home";

Дайте каждому элементу списка уникальный идентификатор, соответствующий названию страницы.

<ul id="nav"> 
    <li id="Home"> 
     <h3>pageA</h3> 
    </li> 
</ul> 

Затем используйте JS для применения активного класса к правильной вкладке, передав ему PHP var. Вы должны включить этот маленький скрипт в файл include.

<script> 
$(function(){ 
var x= //However you render you php var. $Global_Page 
$("ul$nav li#"+x).addClass("active"); 
}); 
</script> 
Смежные вопросы