首页 / 值得一看 / zblog教程 / 正文

zblog实现导航高亮功能的方法

2023-02-25zblog教程阅读 236

经常玩ZblogPHP的用户是不是经常在主题里发现主题自带导航高亮功能,并且还可以给文章页加上当前分类的高亮,下面我们来看看,这种方法到底是怎么实现的呢,是不是很炫酷呢。

zblog实现导航高亮功能的方法

首先我想说一下,这是我在制作主题过程中遇到的问题,我是想给我的主题加上导航高亮的小功能,要是没有这功能主题怎能变得有特色,于是我借鉴了许多主题模板后,得出了方法和代码:

首先打开模板template文件夹,找到所存放导航栏的文件,在导航栏的父级div容器,也可以是header、nav、section等,在class="" 后面加上

data-type="
{if $type=='article'}
article{elseif $type=='page'}
page{elseif $type=='index'}index{else}category{/if}"
 data-infoid="{if $type=='article'}{$article.Category.ID} 
 {elseif $type=='page'}{$article.ID}{elseif $type=='index'} {else}{$category.ID}
 {/if}"

加上这串代码后,恭喜你,重要的一步已经完成了。

然后找到模板下script文件夹,找到模板主js,加上如下代码。

jQuery(document).ready(function($){ var datatype=$("#hamburgermenu").attr("data-type");
    $(".dhgl>li ").each(function(){
        try{
            var myid=$(this).attr("id");
            if("index"==datatype){
                if(myid=="nvabar-item-index"){
                    $("#nvabar-item-index a:first-child").addClass("on");
                }
            }else if("category"==datatype){
                var infoid=$("#hamburgermenu").attr("data-infoid");
                if(infoid!=null){
                    var b=infoid.split(' ');
                    for(var i=0;i<b.length;i++){
                        if(myid=="navbar-category-"+b[i]){
                            $("#navbar-category-"+b[i]+" a:first-child").addClass("on");
                        }
                    }
                }
            }else if("article"==datatype){
                var infoid=$("#hamburgermenu").attr("data-infoid");
                if(infoid!=null){
                    var b=infoid.split(' ');
                    for(var i=0;i<b.length;i++){
                        if(myid=="navbar-category-"+b[i]){
                            $("#navbar-category-"+b[i]+" a:first-child").addClass("on");
                        }
                    }
                }
            }else if("page"==datatype){
                var infoid=$("#hamburgermenu").attr("data-infoid");
                if(infoid!=null){
                    if(myid=="navbar-page-"+infoid){
                        $("#navbar-page-"+infoid+" a:first-child").addClass("on");
                    }
                }
            }else if("tag"==datatype){
                var infoid=$("#hamburgermenu").attr("data-infoid");
                if(infoid!=null){
                    if(myid=="navbar-tag-"+infoid){
                        $("#navbar-tag-"+infoid+" a:first-child").addClass("on");
                    }
                }
            }
        }catch(E){}
    });});

这是,在你的导航栏父级div容器加上id hamburgermenu,然后在导航栏ul上加上class dhgl,这时,网站已经能够识别导航所在页面了!

这样一个简单的导航高亮逻辑判断就完成了,要显示出导航高亮,还要加上css样式。

在主题style文件夹上的主题主css样式上加入a标签的样式:

#hamburgermenu .dhgl li a.on{background:#333;color:#fff;}

background和color后面的颜色也是需要自己自定义的,你可以改成自己的颜色,看着不错就可以了哦。

原理:第一步的php判断是通过php的逻辑type判断,首页就显示index,如果是分类页文章页就输出分类id等,然后js判断li的id,是否和php的首页、分类id符合,符合就输出on class,然后css给on加上样式。

信息由用户投稿以及用户自行发布,真实性、合法性由发布人负责,涉及到汇款等个人财产或隐私内容时请仔细甄别,注意防骗!如有侵权,请联系:wwwlaoyuwang#126.com(#=@)!我们会第一时间核实处理!

相关推荐

  • 虚拟主机中zblog如何强制全站https

    网站改版升级了https安全访问,可之前搜索引擎收录的全部都是http的链接,如果不做301重定向,别人访问时,进入的依旧不是安全链接。如何把zblogPHP全站http301重定向到https的域名...

    131zblog教程2023-10-01
  • zblogphp使用GetArticleList、GetList函数调用热门文章列表

    一般我们调用ZBLOGPHP文章的时候会用到最新文章、点击数、评论数文章调用,同时我们还可能会在一些特定的位置调用本周、本月、本年度的热门文章。热门文章目录文件:zb_system/funct...

    253zblog教程2023-07-05
  • zblog修改列表分页条首页/上页/下页/末尾符号为文字

    Z-Blog使用{template:pagebar}调用的翻页条是用‹‹、‹、›、››符号分别表示首页、上一篇、下一页和最后一页,如果不想用符号直接显示中文怎么办?可以尝试使用翻页条源代码来修改或者通...

    239zblog教程2023-06-12
  • zblog搜索页面制作教程

    搜索功能是一个网站中必不可少的功能,同样在zblog模板中也支持搜索页面的制作,而zblog中的搜索页面是要用一个单独模板来制作的,下面来进行一下讲解本文讲解是以zblog新版本为例来演示的。首先,先...

    292zblog教程2023-06-11
  • ZblogPHP调用某个分类的随机文章

    随机文章是非常常见的内容模块,有利于提高网站整体的收录。区别于常见的CMS,我发现Zblog并没有表情直接调用随机文章,那么,我们要实现调用某个分类的随机文章,应该怎么实现呢?随机文章从网上看到的随机...

    416zblog教程2023-05-10