我未能突出显示默认网页,例如:www.mydomain.com。
当它重定向到index.php和其他菜单链接时,就可以了,如果它是纯域,没有其他文件,我不会。
我写了以下Jquery,只是为了扩大链接的字体大小并将其变成白色:
$(function () {
var path = window.location.href;
path = decodeURIComponent(path);
path =path.substr(path.lastIndexOf("/") +1);
$('#menu a').each(function () {
var href = $(this).attr('href');
href=href.substr(href.lastIndexOf("/") +1);
if (href.indexOf(path) != -1 && path != "") {
$(this).closest('li').find('a').css({'color': 'white' , 'font-size' : '18px' });
}
}); //end of each function
});
HTML标记是:
<div id="menu">
<ul>
<li><a href="$doc_root/index.php" title="Home Page">Home</a></li>
<li><a href="$doc_root/travel/grid.php" title="My Trips">travelling</a></li>
<li><a href="#">images</a></li>
<li><a href="#">words</a></li>
<li><a href="#">about</a></li>
</ul>
</div>
仅写域名(www.mydomain.com)时,如何将第一个链接菜单“主页”更改为新的字体和颜色?
我希望它像选择index.php一样突出显示。
非常感谢。
中号
附言不管直接将域名重定向到index.php(我通常都知道怎么做,我不知道如何使用Aruba来做),尽管如此,我正在寻找一个不错的“编程”解决方案。
最佳答案
在每个页面上,使用该页面名称在PHP中设置一个变量,因此对于index.php,将其值设置为“ home”。对每个单独的菜单项执行此操作。然后在每个页面加载时检查此变量名称,并向相关菜单项添加一个类。像这样:
<?php
$menuItems = array(
'Home' => array('text' => 'Home', 'url' => '/'),
'Page1' => array('text' => 'Page 1','url' => '/page-1'),
'Page2' => array('text' => 'Page 2', 'url' => '/page-2'),
'Page3' => array('text' => 'Page 3', 'url' => '/page-3'),
'Page4' => array('text' => 'Page 4', 'url' => '/page-4'),
);
?>
<div id="nav">
<ul>
<?php
$miCounter = 1;
foreach($menuItems as $key => $value):
$currentLink = '';
if($pageName === $key):
$currentLink = 'class="selected"';
endif;
?>
<li>
<a <?php echo $currentLink; ?> href="<?php echo $value['url']; ?>">
<?php echo $value['text']; ?>
</a>
</li>
<?php
endforeach;
?>
</ul>
</div>
因此,当当前页面为“主页”(
$pageName
)时,它将在菜单链接中添加class="selected"
。然后在CSS中创建selected
类所需的任何背景或颜色样式。