可能是ThinkPHP导航高亮显示当前页面的最简便的方法(不服来辩哈哈)
2015-09-05 18:58
621 查看
只要是做网站,导航就不得不做吧。
只要是做导航,高亮显示当前页面就不得不做吧(如果你想用户体验更好点,不让用户知道Ta正处在网站的哪个页面怎么成)。
做了很多网站,解决这个问题的方法其实我用过很多种。有纯用css实现的,有用css混合js或者jquery实现的,也有通过后台传值给js通过判断来实现的......但是今天做项目中我发现了一种很简单实用,但是网上又比较少有人用的方法(仅限tp框架)。
下面给大家看个例子:
<ul>
<li class="<eq name="Think.const.ACTION_NAME" value="index">nav-li-active</eq>">
<a href="__APP__/Index/index">首 页</a>
</li>
<li class="<eq name="Think.const.ACTION_NAME" value="article">nav-li-active</eq>">
<a href="__APP__/Article/article">博 文</a>
</li>
<li class="<eq name="Think.const.ACTION_NAME" value="picture">nav-li-active</eq>">
<a href="__APP__/Picture/picture">相 册</a>
</li>
<li class="<eq name="Think.const.ACTION_NAME" value="works">nav-li-active</eq>">
<a href="__APP__/Works/works">作 品</a>
</li>
<li class="<eq name="Think.const.ACTION_NAME" value="about">nav-li-active</eq>">
<a href="__APP__/About/about">关 于</a>
</li>
<li class="<eq name="Think.const.ACTION_NAME" value="message">nav-li-active</eq>">
<a href="__APP__/Message/message">留言板</a>
</li>
</ul>
这是我个人博客导航里面的部分代码。
其中的关键代码是:
还有一种在前端里面实现的方法
<script type="text/javascript">
var pathArray = location.pathname.split('/');
$("a[href*='"+pathArray[pathArray.length-1]+"']").parent('li').addClass('active');
</script>
给含有当前页面名字(页面路径的最后一个字段)超链接的li便签,添加一个.active类。(这个方法也是很简单的)
只要是做导航,高亮显示当前页面就不得不做吧(如果你想用户体验更好点,不让用户知道Ta正处在网站的哪个页面怎么成)。
做了很多网站,解决这个问题的方法其实我用过很多种。有纯用css实现的,有用css混合js或者jquery实现的,也有通过后台传值给js通过判断来实现的......但是今天做项目中我发现了一种很简单实用,但是网上又比较少有人用的方法(仅限tp框架)。
下面给大家看个例子:
<ul>
<li class="<eq name="Think.const.ACTION_NAME" value="index">nav-li-active</eq>">
<a href="__APP__/Index/index">首 页</a>
</li>
<li class="<eq name="Think.const.ACTION_NAME" value="article">nav-li-active</eq>">
<a href="__APP__/Article/article">博 文</a>
</li>
<li class="<eq name="Think.const.ACTION_NAME" value="picture">nav-li-active</eq>">
<a href="__APP__/Picture/picture">相 册</a>
</li>
<li class="<eq name="Think.const.ACTION_NAME" value="works">nav-li-active</eq>">
<a href="__APP__/Works/works">作 品</a>
</li>
<li class="<eq name="Think.const.ACTION_NAME" value="about">nav-li-active</eq>">
<a href="__APP__/About/about">关 于</a>
</li>
<li class="<eq name="Think.const.ACTION_NAME" value="message">nav-li-active</eq>">
<a href="__APP__/Message/message">留言板</a>
</li>
</ul>
这是我个人博客导航里面的部分代码。
其中的关键代码是:
<eq name="Think.const.ACTION_NAME" value="index">nav-li-active</eq>只有当当前方法的名字为index时,输出nav-li-active。而这个nav-li-active就是你之前在css里面已经定义好了的类名。
还有一种在前端里面实现的方法
<script type="text/javascript">
var pathArray = location.pathname.split('/');
$("a[href*='"+pathArray[pathArray.length-1]+"']").parent('li').addClass('active');
</script>
给含有当前页面名字(页面路径的最后一个字段)超链接的li便签,添加一个.active类。(这个方法也是很简单的)
相关文章推荐
- [11]PHP_W3Cschool中的PHP测试题题目以及答案
- tproxy实现透明代理_sudo_新浪博客
- win7 iis7 ftp配置
- 有关PHP、HTML单引号、双引号转义以及转成HTML实体的那些事!
- php goto操作符
- php email邮箱正则验证
- 构建ftp服务器(二)
- yii 常用一些调用
- 87 thinkphp 和sql查询条件为某字段不为空的情况
- Laravel5框架使用Oauth2.0
- sftp用法简介
- YII的重写规则与URL的管理
- 《重新深入学习PHP教程》(1)(2015-09-05)
- YII中日志
- php设计模式——工厂方法模式(Factory Method)
- APScheduler + Gearman 构建分布式定时任务调度-std1984-ITPUB博客
- php-timeit估计php函数的执行时间
- Yii CDBCriteria常用方法
- PHP学习(一)--认识PHP
- php yii框架 目录说明