三种实现导航菜单高亮显示的JS类
来源:互联网 发布:印刷包装报价软件 编辑:程序博客网 时间:2024/05/25 16:38
其实思路很简单,第一种方法是通过遍历链接组的href值,通过indexOf判断href值是否被包含在浏览器当前url值中.此方法有一定局限,比如对于iframe内的菜单是不能这样判断的; 第二种方法适用范围更广一样,实现思路也比较简单,即通过判断点击,给点击项加载高亮样式.
第一种判断当前URL值高亮类代码:
//---判断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;
}
}
}
参数说明:
2.classCur : 高亮显示时的样式class名.
调用方法:window.onload=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();
}
}
}
}
参数说明:
2.classCur : 点击后显示的样式class名.
调用方法:
window.onload=function highThis(){highOnclick("youId","youhighclass");}
此方法扩展性较强,比如可以通过判断parentNode.nodeName值来使某一类型链接不被遍历,等等.
第三种方法,至简类:
function changmenu(obj){
var alinks=document.getElementById('Mainmenu').getElementsByTagName('a');
for(var i=0;i<alinks.length;i++){
alinks[i].className='';
}
obj.className='ck';
}
其原理同上面的两类,不过此类较简洁,够犀利。
- 三种实现导航菜单高亮显示的JS类
- Js实例:实现导航菜单的高亮显示
- Js实现当前导航菜单高亮显示
- freemarker生成的前端代码下使用javascript实现导航菜单高亮显示
- js实现简单的隐藏导航菜单动态显示
- 基于jquery实现导航菜单高亮显示(两种方法)
- js实现简单的导航下拉菜单
- SharePoint 2013 高亮显示当前导航菜单
- Solr高亮显示highlight的三种实现
- JS实现折叠式导航菜单
- js实现导航菜单效果
- 导航高亮显示
- 导航菜单的实现
- [js]悬浮显示二级菜单的实现
- JS仿淘宝网顶部的导航菜单-导航菜单类
- JS仿淘宝网顶部的导航菜单-导航菜单类 .
- 用js实现菜单导航功能
- js实现选择并转移导航菜单
- proc相关问题
- jQuery验证控件jquery.validate.js使用说明+中文API
- java中函数使用变长参数
- 挂到自己电脑的某个
- RedHat Linux 9安装VMware Tools手记
- 三种实现导航菜单高亮显示的JS类
- 地方门户网站如何快速发展盈利
- android中TextView实现单行跑马灯
- 我有自己的新家了,哈哈
- Java中ArrayList类详解
- 验证 正则
- CComboBox无法动态的改变DropDown或DropList
- 版本更新
- Android 之ActivityThead、ActivityManagerService 与activity的管理和创建