我希望<li>
标记的类在活动目录下更改...
现在,每个指南都告诉我当你的页面等于它时如何做,但我想改变
<li>
取决于我在哪个目录上
例如:
如果说我是http://example.com/RESOURCES/code/opensource,
或
http://example.com/RESOURCES/images/clipart我希望“资源”^^ <li>
是'class =“active”',而其余显示'class =“noactive”'
或者即时通讯http://example.com/tutorials/css/flawless-dropdown-menu我希望“教程”<li>
为“class =”有效“,其余为'类= “noactive”'
这是我的网址显示方式的例子......
http://example.com/tutorials/css/flawless-dropdown-menu
^^该URL是教程的页面....在“tutorials”目录下,而不是在“CSS”类别目录下,而不是页面标题(所有这些目录都不是真实的并且是从中重写的。 htaccess)[无关]
<ul id="mainnav">
<li class="noactive"><a href="/">Home</a></li>
<li class="active"><a href="/tutorials/">Tutorials</a></li>
<li class="noactive"><a href="/resources/">Resources</a></li>
<li class="noactive"><a href="/library/">Library</a></li>
<li class="noactive"><a href="/our-projects/">Our Projects</a></li>
<li class="noactive"><a href="/community/">Community</a></li>
</ul>
答案 0 :(得分:17)
想出了答案......我一直在思考它。
<ul id="mainnav">
<li class="<?php if ($first_part=="") {echo "active"; } else {echo "noactive";}?>"><a href="#">Home</a></li>
<li class="<?php if ($first_part=="tutorials") {echo "active"; } else {echo "noactive";}?>"><a href="#">Tutorials</a></li>
<li class="<?php if ($first_part=="resources") {echo "active"; } else {echo "noactive";}?>"><a href="#">Resources</a></li>
<li class="<?php if ($first_part=="library") {echo "active"; } else {echo "noactive";}?>"><a href="#">Library</a></li>
<li class="<?php if ($first_part=="our-projects") {echo "active"; } else {echo "noactive";}?>"><a href="#">Our Projects</a></li>
<li class="<?php if ($first_part=="community") {echo "active"; } else {echo "noactive";}?>"><a href="#">Community</a></li>
</ul>
<?php
$directoryURI = $_SERVER['REQUEST_URI'];
$path = parse_url($directoryURI, PHP_URL_PATH);
$components = explode('/', $path);
$first_part = $components[1];
?>
答案 1 :(得分:11)
<强>的header.php 强>
$activePage = basename($_SERVER['PHP_SELF'], ".php");
<强> nav.php 强>
<ul>
<li class="<?= ($activePage == 'index') ? 'active':''; ?>"><a href="/index.php">Home</a></li>
<li class="<?= ($activePage == 'tutorials') ? 'active':''; ?>"><a href="/tutorials.php">Tutorials</a></li>
...
答案 2 :(得分:4)
通过PHP,您可以尝试 -
<?php
// gets the current URI, remove the left / and then everything after the / on the right
$directory = explode('/',ltrim($_SERVER['REQUEST_URI'],'/'));
// loop through each directory, check against the known directories, and add class
$directories = array("index", "tutorials","resources","library","our-projects","community"); // set home as 'index', but can be changed based of the home uri
foreach ($directories as $folder){
$active[$folder] = ($directory[0] == $folder)? "active":"noactive";
}
?>
<ul>
<li class="<?php echo $active['index']?>"><a href="/">Home</a></li>
<li class="<?php echo $active['tutorials']?>"><a href="/tutorials/">Tutorials</a></li>
<li class="<?php echo $active['resources']?>"><a href="/resources/">Resources</a></li>
<li class="<?php echo $active['library']?>"><a href="/library/">Library</a></li>
<li class="<?php echo $active['our-projects']?>"><a href="/our-projects/">Our Projects</a></li>
<li class="<?php echo $active['community']?>"><a href="/community/">Community</a></li>
</ul>
答案 3 :(得分:2)
也许这会对你有所帮助:
$(document).ready(function()
{
var parts = document.URL.split("/");
// [http:, empty, your domain, firstfolder]
var firstFolder = parts[3];
$("#mainnav li").attr("class", "noactive");
$("#mainnav a[href='/" + firstFolder + "/']").parent().attr("class", "active");
});
答案 4 :(得分:1)
使用jQuery可能更容易,但这有效:
$url='http://example.com/tutorials/css/flawless-dropdown-menu';//pass the current url here instead of a static string.
$segments = explode ("/",$url);
$menuItems=array('Tutorials','Resources', 'Library', 'Our-Projects','Community');
$menu=array();
foreach ($menuItems as $menuItem) {
if($segments[3]==strtolower($menuItem)){
$menu[]=('<li class="active"><a href="/'.strtolower($menuItem).'/">'.str_replace("-"," ",$menuItem).'</a></li>');
} else {
$menu[]=('<li class="no-active"><a href="/'.strtolower($menuItem).'/">'.str_replace("-"," ",$menuItem).'</a></li>');
}
}
foreach ($menu as $item) {
echo $item.'<br />';
}
答案 5 :(得分:0)
如果你使用mysql_fetch将你的行定义为菜单标题。 如果我们拿你的菜单标题是在mysql数据库中的菜单,你必须放入 (首页,教程,图书馆,资源,我们的项目,社区)
<?php
//connect your data bass
include(connection.php');
//get your from ID like www.google?id=1
$id = $_GET['id'];
$query = "select * from pages where id='$id'";
$query1 = mysql_query($query);
while($row= mysql_fetch_array($query1))
{
?>
<html>
<?php $active= $row['MENU'];?>
<ul>
<li class="<?php if($active=='Home'){echo 'active';}else{echo'noactive';}?>"><a href="/">Home</a></li>
<li class="<?php if($active=='tutorials'){echo 'active';}else{echo'noactive';}?>"><a href="/tutorials/">Tutorials</a></li>
<li class="<?php if($active=='resources'){echo 'active';}else{echo'noactive';}?>"><a href="/resources/">Resources</a></li>
<li class="<?php if($active=='library'){echo 'active';}else{echo'noactive';}?>"><a href="/library/">Library</a></li>
<li class="<?php if($active=='our-projects'){echo 'active';}else{echo'noactive';}?>"><a href="/our-projects/">Our Projects</a></li>
<li class="<?php if($active=='community'){echo 'active';}else{echo'noactive';}?>"><a href="/community/">Community</a></li>
</ul>
</html>
<?php };?>
答案 6 :(得分:0)
“ includes / header.php”-位于文件顶部
<?php
$activePage = basename($_SERVER['PHP_SELF']);
$index="";
$nosotros="";
$cursos="";
$contacto="";
switch ($activePage) {
case 'index.php':
$index=' class="current"';
break;
case 'nosotros.php':
$nosotros=' class="current"';
break;
case 'cursos.php':
$cursos=' class="current"';
break;
case 'contacto.php':
$contacto=' class="current"';
break;
default:
break;
}
?>
这在导航部分
<ul>
<?php
echo '<li'.$index.'><a href="/"><div>Inicio</div></a></li>';
echo '<li'.$nosotros.'><a href="nosotros"><div>Nosotros</div></a></li>';
echo '<li'.$cursos.'><a href="cursos"><div>Cursos</div></a></li>';
echo '<li><a href="http://www.redtechacademy.com"><div>Academia</div></a></li>';
echo '<li><a href="https://www.redtechhackingshop.com"><div>Tienda</div></a></li>';
echo '<li'.$contacto.'><a href="contacto"><div>Contacto</div></a></li>';
?>
</ul>
答案 7 :(得分:0)
Try the following:
<ul class="sub-menu">
<div class="h-10"></div>
<li class="<?php if ($your_variable=="test") {echo "active"; }
else{echo"noactive";}?>">
<a href="test.php">Test </a>
</li>
<li class="<?php if ($your_variable=="test2") {echo "active";
} else {echo"noactive";}?>">
<a href="test2.php" >Test2</a>
</li>
<li class="<?php if ($your_variable=="test3") {echo
"active"; } else {echo "noactive";}?>">
<a href="test3.php">Test3</a>
</li>
</ul>
**strong PHP text**
<?php
$directoryURI = $_SERVER['REQUEST_URI'];
$path = parse_url($directoryURI, PHP_URL_PATH);
$components = explode('/', $path);
$your_variable = basename($_SERVER['PHP_SELF'], ".php");
?>
答案 8 :(得分:0)
在这里我们还可以做一件简单的事情:
<li class="page-scroll <?php if(basename($_SERVER['PHP_SELF'])=="aboutus.php"){echo "active";} ?>"><a href="aboutus.php">About us</a></li>
答案 9 :(得分:-1)
<?php $request_uri= $_SERVER['REQUEST_URI'];?>
<ul>
<li class="<?php if((strpos($request_uri,"index.html")!==false) || $request_uri=="" || $request_uri=="/"){echo "selected";}?>"><a href="/index.html">Home</a></li>
<li class="<?php if((strpos($request_uri,"service")!==false)){echo "selected";}?>"><a href="/services.html">Services</a> </li>
<li class="<?php if((strpos($request_uri,"product")!==false)){echo "selected";}?>"><a href="/products.html">Products</a></li>
<li class="<?php if((strpos($request_uri,"blog")!==false)){echo "selected";}?>"><a href="/blog.html">Blog</a></li>
<li class="<?php if((strpos($request_uri,"question")!==false)){echo "selected";}?>"><a href="/question-answers.html">Ques & Ans</a></li>
<li class="<?php if((strpos($request_uri,"career")!==false)){echo "selected";}?>"><a href="/career.html">Career</a></li>
<li class="<?php if((strpos($request_uri,"about-us")!==false)){echo "selected";}?>"><a href="/about-us.html">About</a></li>
</ul>