ThinkCMF是一款基于ThinkPHP+MYSQL开发的中文内容管理框架。ThinkCMF提出灵活的应用机制,框架自身提供基础的管理功能,而开发者可以根据自身的需求以应用的形式进行扩展。每个应用都能独立的完成自己的任务,也可通过系统调用其他应用进行协同工作。在这种运行机制下,开发商场应用的用户无需关心开发SNS应用时如何工作的,但他们之间又可通过系统本身进行协调,大大的降低了开发成本和沟通成本。
问题描述
Thinkcmf前后台界面做的都非常整洁好看,但是前台导航用公共函数sp_get_menu()获取输出之后并不能实现导航高亮的功能!
解决方法
模板中导航的输入代码如下:
<?php
$effected_id="main-menu";
$filetpl="<a href='\$href' target='\$target'>\$label</a>";
$foldertpl="<a href='\$href' target='\$target' class='dropdown-toggle' data-toggle='dropdown'>\$label <b class='caret'></b></a>";
$ul_class="dropdown-menu" ;
$li_class="" ;
$style="sf-menu clearfix";
$showlevel=6;
$dropdown='dropdown';
echo sp_get_menu("main",$effected_id,$filetpl,$foldertpl,$ul_class,$li_class,$style,$showlevel,$dropdown);
?>
然后我们用JS来判断当前访问的连接和导航中哪个的href连接相同,然后添加样式来实现当前页面高亮的显示
<script>
$(function(){
$('#main-menu a').each(function() {
var thhr = $(this).attr('href');
var losr = String(window.location);
var lost = losr.substr(losr.length-thhr.length,losr.length)
if(thhr==lost){
$(this).parent().addClass('current')
}
});
})
</script>
然后不要忘记定义“.current”的样式
<style>
#main-nav .current > a {
background-color: #1bbc9b;
color: #FFFFFF;
}
</style>
最后实现的效果
此方法基于JQuery实现,使用前请务必引入JQuery文件!
如果本文您看了还不错,请不要忘记点击分享和关注哦!