优秀的编程知识分享平台

网站首页 > 技术文章 正文

Thinkcmf 导航当前页面高亮实现方式

nanyue 2024-07-26 15:48:21 技术文章 5 ℃

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 {

  1. background-color: #1bbc9b;

  2. color: #FFFFFF;

}

</style>

最后实现的效果

此方法基于JQuery实现,使用前请务必引入JQuery文件!

如果本文您看了还不错,请不要忘记点击分享和关注哦!

最近发表
标签列表