PHP - 根据我所在的页面,更改活动类
PHP - Based on which page I'm on, change the active class
我有3页。根据我所在的页面,我想更改活动类以反映这一点。
这 3 个页面是索引、博客和联系人。它们中的每一个也有子页面,比如 Work 为各种项目提供了各种 PHP 文件。博客有各种博客文章。联系只是一个PHP联系表格。
我想根据这个人的情况,移动class="active"。现在,它在每个页面上都是硬编码的。
我的代码是:
<ul class="list-inline" id="menu">
<li class="active">
<a href="index.php">work</a>
</li><!--
--><li>
<a href="blog.php">blog</a>
</li><!--
--><li>
<a href="contact.php">contact</a>
</li><!--
--><li>
<a href="#"><img class="social" src="img/icon/icon-facebook.png" alt="facebook"></a>
<a href="#"><img class="social" src="img/icon/icon-twitter.png" alt="twitter"></a>
</li>
</ul>
添加此 PHP:
<?php #add class .active to current page
$directoryURL = $_SERVER['REQUEST_URI'];
$path = parse_url($directoryURL, PHP_URL_PATH);
$components = explode('/', $path);
$currentPage = preg_replace("/''.[^.''s]{3,4}$/", "", end($components));
if ($currentPage == "") {
$currentPage = "index";
}
function href($url) {
global $currentPage;
$path = explode('/', $url);
$page = preg_replace("/''.[^.''s]{3,4}$/", "", end($path));
echo 'href="' . $url . '"';
if ($page == $currentPage) {
echo 'active';
}
}
?>
将菜单调整为:
<li><a <?php href('about.php');?>>About</a></li>
*这应该有效。祝你好运
有很多方法,其中之一是这个:
<?php
$page = ''; // @TODO: assign with the right value
$work_class = $page == 'work' ? 'active' : '';
$blog_class = $page == 'blog' ? 'active' : '';
$contact_class = $page == 'contact' ? 'active' : '';
?>
<ul class="list-inline" id="menu">
<li class="<?=$work_class?>">
<a href="index.php">work</a>
</li><!--
--><li class="<?=$blog_class?>">
<a href="blog.php">blog</a>
</li><!--
--><li class="<?=$contact_class?>">
<a href="contact.php">contact</a>
</li><!--
--><li>
<a href="#"><img class="social" src="img/icon/icon-facebook.png" alt="facebook"></a>
<a href="#"><img class="social" src="img/icon/icon-twitter.png" alt="twitter"></a>
</li>
</ul>
为了获得更精确的答案,如果您提供有关其余代码外观的更精确信息,这将非常有用。
我会循环它。
<?php
$base = substr($_SERVER['PHP_SELF'],strrpos($_SERVER['PHP_SELF'], '/')-1); // Something like this to determine the current file such as 'blog.php'
$links = array();
$links['work'] = 'index.php';
$links['blog'] = 'blog.php';
// ..
foreach($links AS $name => $url)
{ ?>
<a href="<?php echo $url; ?>"
<?php if($base == $url) ?> class="active"<?php } ?>
><?php echo $name; ?></a>
<?php } ?>
您也可以将活动类添加到包装 li 元素 ofc 中。
<ul class="list-inline" id="menu">
<li<?php if ($_SERVER['SCRIPT_FILENAME'] == "index.php") { echo " class='"active'""; } ?>>
<a href="index.php">work</a>
</li>
<li<?php if ($_SERVER['SCRIPT_FILENAME'] == "blog.php") { echo " class='"active'""; } ?>>
<a href="blog.php">blog</a>
</li>
<li>
<a href="contact.php">contact</a>
</li>
<li>
<a href="#"><img class="social" src="img/icon/icon-facebook.png" alt="facebook"></a>
<a href="#"><img class="social" src="img/icon/icon-twitter.png" alt="twitter"></a>
</li>
</ul>
诸如此类
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- 将PHP变量传递给jQuery时遇到问题
- 通过javascript重定向html传递php变量
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 从Bootstrap获取活动选项卡ID并将其传递给PHP
- PHP-每天只有2小时的活动联系表单
- 我正在使用php includes来构建一个多页面网站.使用jquery,我将如何添加一个类"活动的”;添加到
- 如何从Mysql,php创建一个活动和动态的条形图
- 如何使用 bootstrap3 和 php 突出显示标题中的活动页面
- 为什么我的php数组只返回最近/最后发布的活动
- PHP Cookies使用谷歌活动URL中的变量
- 菜单选项卡选择/活动样式取决于url中的file.php、javascript函数
- 如何将动态 php 页面放入 jquery 手稿“活动”部分
- 重新加载页面并转到以前活动的选项卡php-jquery-jtable
- $_POST 变量保持活动状态多长时间,PHP 如何决定 post 数组中的内容
- PHP在活动页面上显示后端脚本的输出
- PHP使用include设置页面上的活动链接
- 对于大型活动的PHP建议
- 一个用PHP或javascript参加公共活动的按钮
- 如何使用php跟踪用户是否在网站中处于活动状态