博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
两种简单实现菜单高亮显示的JS类(转载)
阅读量:6790 次
发布时间:2019-06-26

本文共 1561 字,大约阅读时间需要 5 分钟。

 

近期在写一个博客管理后台的前端,涉及在同一页面两种高亮显示当前菜单的需求.记得当年写静态页时,为了实现高亮都是在每个页面加不同的样式,呵.高亮显示我觉得对于web前端来说,是比较常用到的效果,正好此次又要用到,特地整理出我所写的两种高亮类.

其实思路很简单,第一种方法是通过遍历链接组的href值,通过indexOf判断href值是否被包含在浏览器当前url值中.此方法有一定局限,比如对于iframe内的菜单是不能这样判断的; 第二种方法适用范围更广一样,实现思路也比较简单,即通过判断点击,给点击项加载高亮样式.

第一种判断当前URL值高亮类代码:

//@Mr.Think---判断URL实现菜单高亮显示
function highURL(menuId,classCur){
if(!document.getElementById) return false;
if(!document.getElementById(menuId)) return false;
if(!document.getElementsByTagName) return false;
var menuId=document.getElementById(menuId);
var links=menuId.getElementsByTagName("a");
for(var i=0; i<links.length; i++ ){
    var menuLink=links[i].href;
    var currentLink=window.location.href;
    if(currentLink.indexOf(menuLink)!=-1){
    links[i].className=classCur;    
    }
    }
}

参数说明:

1.
menuId : 链接组所在ID;
2.
classCur : 高亮显示时的样式class名.

调用方法:

window.οnlοad=function highThis(){highURL("youId","youhighclass");}

第二种点击后高亮显示当前类:

//@Mr.Think---点击实现高亮显示
function highOnclick(elemId,classCur) {
    if (!document.getElementsByTagName) return false;
    if (!document.getElementById) return false;
    if (!document.getElementById(elemId)) return false;
    var elemId = document.getElementById(elemId);
    var links = elemId.getElementsByTagName("a");
    for (i = 0; i < links.length; i++) {
            links[i].onclick = function() {
                for (n = 0; n < links.length; n++) {
                    links[n].className = "";
                this.className = classCur;
                this.blur();
            }
        }
    }
}

参数说明:

1.
elemId : 链接组所在ID;
2.
classCur : 点击后显示的样式class名.

调用方法:

window.οnlοad=function highThis(){highOnclick("youId","youhighclass");}

此方法扩展性较强,比如可以通过判断parentNode.nodeName值来使某一类型链接不被遍历,等等.

转载地址:http://mzogo.baihongyu.com/

你可能感兴趣的文章
echarts在.Net中使用实例(二) 使用ajax动态加载数据
查看>>
[安卓] 1、页面跳转+按钮监听
查看>>
[CareerCup] 15.5 Denormalization 逆规范化
查看>>
重新理解:ASP.NET 异步编程
查看>>
PostgreSQL在何处处理 sql查询之五十二
查看>>
Java开发环境搭建全过程(上)
查看>>
[LeetCode] Spiral Matrix II 螺旋矩阵之二
查看>>
爱上MVC3系列~同步与异步提交,在过滤器里如何进行重定向
查看>>
WordPress 备案期间临时关闭站点设置404
查看>>
50.6. 视图(View)
查看>>
git 常用命令
查看>>
Apache Commons CLI命令行启动
查看>>
构建基于 NodeJS 的 LESS.js 预编译 CSS 服务
查看>>
java word文档 转 html文件
查看>>
[裴礼文数学分析中的典型问题与方法习题参考解答]5.1.17
查看>>
CentOS7 安装MongoDB 3.0服务器
查看>>
Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式
查看>>
46.3. nginx 配置文件
查看>>
微信开发之刷卡支付
查看>>
macbook pro 下eclipse配置svn插件
查看>>