window.doc_cur_index = 0;//当前页面 var win_menu_a = [];//菜单级别,菜单级别中位置,菜单对象属性数组 var menu_sub_1; var menu_sub_2; var a_name = 'win_menu_a'; set_menu_a(['首页','']);//注意是文件夹或index.php时,后面一定要跟/,省掉文件名 menu_sub_2 = []; a_name = 'menu_sub_2'; set_menu_a(['人事代理','case/rswb/sub/rsdl.php']); set_menu_a(['人才派遣','case/rswb/sub/rspq.php']); set_menu_a(['薪资福利外包','case/rswb/sub/flwb.php']); set_menu_a(['劳动关系咨询与培训','case/rswb/sub/ldgx.php']); menu_sub_1 = []; a_name = 'menu_sub_1'; set_menu_a([menu_sub_2,['人事外包','case/rswb']]); set_menu_a(['招聘流程外包','case/zpwb']); set_menu_a(['猎头服务','case/ltfw']); set_menu_a(['其他服务','case/qtfw']); a_name = 'win_menu_a'; set_menu_a([menu_sub_1,['解决方案','case/rswb']]); menu_sub_1 = []; a_name = 'menu_sub_1'; set_menu_a(['服务内容','service/fwny']); set_menu_a(['服务特色','service/fwts']); set_menu_a(['服务流程','service/fwlc']); set_menu_a(['意见反馈','service/yjfk']); a_name = 'win_menu_a'; set_menu_a([menu_sub_1,['企业服务','service/fwny']]); menu_sub_1 = []; a_name = 'menu_sub_1'; set_menu_a(['近期招聘职位','personal/jqzpzw']); set_menu_a(['求职技巧','personal/qzjq']); set_menu_a(['简历提交','personal/jltj']); a_name = 'win_menu_a'; set_menu_a([menu_sub_1,['个人服务','personal/jltj']]); menu_sub_1 = []; a_name = 'menu_sub_1'; set_menu_a(['公司介绍','us/gsjs']); set_menu_a(['公司使命','us/gssm']); set_menu_a(['公司精神','us/gsjins']); set_menu_a(['服务宗旨','us/fwzz']); set_menu_a(['联系方式','us/lxfs']); a_name = 'win_menu_a'; set_menu_a([menu_sub_1,['关于我们','us/gsjs']]); set_menu_a(['新闻新政','new']); function set_menu_a(sub_v) { eval('window.' + window.a_name +'[window.' + window.a_name +'.length] = sub_v'); } function is_array(test_a) { try { if ( (typeof(test_a)!='object') || isNaN(test_a.length) ) { return false; } }catch(e){}; return true; } if (is_array(win_menu_a[0][0])) { alert('主页不允许有子菜单.'); } function get_sub_v(menu_a_c) {//获取子菜单数组 if (menu_a_c==null) return alert('get_sub_v输入参数出错'); if (is_array(menu_a_c[0])) return menu_a_c[1];//还有子菜单 return menu_a_c; } function get_location_dir(how) {//获取当前页相对首页的路径,因为后面要用它来确定路径, 网页中要使用base来指定相对路径 var menu_a = window.win_menu_a; var doc_sub_dir = location.href.replace(document.getElementById('base_href').href,''); //地址 doc_sub_dir = doc_sub_dir.replace(///(index/.[^/.]+)?$/gi,'');//去掉默认文件和最后的/ switch (how) { case 'pathname': doc_sub_dir = menu_a[0][1] + doc_sub_dir; break; case 1: doc_sub_dir = doc_sub_dir.split('/'); if (doc_sub_dir[0] != '') doc_sub_dir = menu_a[0][1] + doc_sub_dir[0].toString(); else doc_sub_dir = false; break; case 2: doc_sub_dir = doc_sub_dir.split('/'); if ((doc_sub_dir.length > 1) && (doc_sub_dir[0] != '') && (doc_sub_dir[1] != '')) { doc_sub_dir = menu_a[0][1] + doc_sub_dir[0] + '/' + doc_sub_dir[1]; } else doc_sub_dir = false; break; default: doc_sub_dir = false; } //alert(doc_sub_dir); return doc_sub_dir; } function show_menu() { //列出一级菜单 var menu_a = window.win_menu_a; var home_v = menu_a[0]; var doc_sub1_dir = get_location_dir(1);//跟首页相同格式 以开始格式 window.sub1_index = null; //alert(doc_sub1_dir); var menu_html = '<ul>'; menu_html += '<blockquote id=mainbav0><a href="' + home_v[1] + '" mce_href="' + home_v[1] + '" target="" id="home" style="letter-spacing:10px;" mce_style="letter-spacing:10px;">' + home_v[0] + '</a></blockquote>';//首页 for (var for_i = 1; for_i < menu_a.length; for_i++) { var menu_a_c = get_sub_v(menu_a[for_i]); // alert(menu_a_c[1] +' '+doc_sub1_dir); if( doc_sub1_dir && (menu_a_c[1].indexOf( doc_sub1_dir )>-1) ) {//是否本菜单下页面 window.sub1_index = for_i; var sty=" class=current "; }else { var sty = ''; } menu_html += '<a href="' + menu_a_c[1] + '" mce_href="' + menu_a_c[1] + '" target="" id=mainbav' + for_i + ' onMouseOver="showsubmenu(' + for_i + ')" '+sty + '>' + menu_a_c[0] + '</a>'; } menu_html += '<div class="clear"></div>'; menu_html += '</ul>'; document.write(menu_html); } function show_menu_sub() {//列出二级菜单 var menu_a = window.win_menu_a; var home_v = menu_a[0]; window.sub2_v_a = null; var doc_sub2_dir = get_location_dir(2);//跟首页相同格式 以开始格式 //alert(doc_sub2_dir); var sub_html = '<div style="height:30px;width:700px;">'; for (var for_i = 0; for_i < menu_a.length; for_i++) { sub_html += '<div id=submenu' + for_i + ' style="display:none;" mce_style="display:none;">' + '<table border="0">' + '<tr>' + '<td class="subnav">'; var menu_sub_1 = menu_a[for_i]; // if (is_array(menu_sub_1[0])) { menu_sub_1 = menu_sub_1[0]; for(var for_i_i=0; for_i_i < menu_sub_1.length; for_i_i++) { var menu_sub_v = get_sub_v(menu_sub_1[for_i_i]); //alert(get_sub_v[1] +' '+doc_sub2_dir); if( doc_sub2_dir && (menu_sub_v[1].indexOf( doc_sub2_dir )>-1) ) {//是否本2级菜单下页面 window.sub2_v_a = menu_sub_v; } sub_html +='<a href="' + menu_sub_v[1] + '" mce_href="' + menu_sub_v[1] + '">' + menu_sub_v[0] + '</a>'; } } sub_html+= '</td>' + ' </tr>' + ' </table>' + '</div>'; } sub_html += '</div>'; document.write(sub_html); } function show_doc_path() {//显示网页路径 ,首页-一级菜单-二级菜单 var menu_a = window.win_menu_a; var doc_t = '<DIV class=place>'; doc_t += '<IMG src="imgs/cion01.gif" mce_src="imgs/cion01.gif" width=5 height=5>'; doc_t += '<A href="'+menu_a[0][1]+'" mce_href="'+menu_a[0][1]+'" target="">'+menu_a[0][0]+'</A>'; //alert(window.sub1_v_a + ' ' + window.sub2_v_a); if (window.sub1_index) {//一级菜单名字 var menu_sub_v = get_sub_v(menu_a[window.sub1_index]); doc_t += '><A href="'+menu_sub_v[1]+'" mce_href="'+menu_sub_v[1]+'" target="">'+menu_sub_v[0]+'</A>'; } if (window.sub2_v_a) {//二级菜单的名字 doc_t += '><A href="'+window.sub2_v_a[1]+'" mce_href="'+window.sub2_v_a[1]+'" target="">'+window.sub2_v_a[0]+'</A>'; } doc_t += ' </DIV>'; document.write(doc_t); } function show_r_contact() {//显示右边的联系方式 var html = '<DIV class=icontact><H1 cms:id="te_contactus,0">联系我们</H1>' + '<H2 cms:id="te_contactus,137">' + '<P>' + '<P>电话: 8621-34160096</P>' + '<P>传真: 8621-34160096</P>' + '<P>邮箱: xx@xxxx.com</P>' + '<P>地址: 上海市国定路345号三号湾1310室</P>' + '<P></P></H2></DIV>'; document.write(html); } function show_r_sub() { //把所有的当前菜单及子菜单显示出来 var html = '<DIV class=submenu><TABLE border=0 cellSpacing=0 cellPadding=0 width="100%">' + '<TBODY>' + '<TR>' + '<TD vAlign=top align=left>' + '<H1><!--<a href="#" mce_href="#"><img src="images/more.gif" mce_src="images/more.gif" width="33" height="11" />'; if (window.sub1_index==null) { html += '</a>-->查看文章</H1>' + '<DL>' + '<H2><B>查看文章</B></H2>'; }else { var menu_a = window.win_menu_a; var menu_sub_v = get_sub_v(menu_a[window.sub1_index]); html += '</a>-->'+menu_sub_v[0]+'</H1>' + '<DL>' + '<H2><B>'+menu_sub_v[0]+'</B></H2>'; var menu_sub_v = menu_a[window.sub1_index][0]; for(var for_i=0; is_array(menu_sub_v) && (for_i < menu_sub_v.length); for_i++) { var menu_sub1 = get_sub_v(menu_sub_v[for_i]); var pathname = get_location_dir('pathname'); var sty=''; //alert(pathname +' '+ menu_sub1[1]); if (pathname == menu_sub1[1]) sty=' class=current '; html += '<DT '+sty+'><A href="' + menu_sub1[1] + '" mce_href="' + menu_sub1[1] + '" >' + menu_sub1[0] + '</a></dt>'; var dd_h = get_sub_html(menu_sub_v[for_i][0],0); if (dd_h !='') html += '<Dd>'+ dd_h +'</dd>'; } } html += '</DL></TD></TR></TBODY></TABLE></DIV>'; document.write(html); } function get_sub_html(sub_a,num) {//未处理4级以上的前导空格,让菜单瞧起来分级明显 if (!is_array(sub_a))return ''; var html = ''; for(var for_i=0; for_i < sub_a.length; for_i++) { var menu_sub1 = get_sub_v(sub_a[for_i]); var pathname = get_location_dir('pathname'); var sty=''; //alert(pathname +' '+ menu_sub1[1]); if (pathname == menu_sub1[1]) sty=' class=current '; html += '<p '+sty+'><A href="' + menu_sub1[1] + '" mce_href="' + menu_sub1[1] + '">'+space_n(num) +'|--' + menu_sub1[0] + '</a></p>'; html += get_sub_html(sub_a[for_i][0],num+4); } return html; } function space_n(n) { var space_h = ''; for (var for_i =0; for_i < n; for_i++) { space_h += ' '; } return space_h; } function showsubmenu1(value){ for (var ii = 0; ii <= 10; ii++){ var mainbav = document.getElementById("mainbav" + ii); var submenu = document.getElementById("submenu" + ii); if( mainbav == null ) break; if(ii == value){ submenu.style.display="block"; }else if(ii != value){ submenu.style.display="none"; } } } function showsubmenu(value){ for (var ii = 0; ii <= 10; ii++){ var mainbav = document.getElementById("mainbav" + ii); var submenu = document.getElementById("submenu" + ii); if( mainbav == null ) break; if(ii == value){ submenu.style.display="block"; var mainleft=mainbav.offsetLeft; var dtwidth=submenu.offsetWidth; var tbwidth=submenu.firstChild.offsetWidth; //alert(mainleft + ' '+dtwidth + ' '+tbwidth); if(mainleft+tbwidth<dtwidth){//子菜单宽度小 submenu.style.paddingLeft=mainleft }else{ submenu.style.paddingLeft=dtwidth-tbwidth - 20; } }else if(ii != value){ submenu.style.display="none"; } } } function showproduct(value){ for (var ii = 0; ii <= 10; ii++){ var mainpro = document.getElementById("mainpro" + ii); var subpro = document.getElementById("subpro" + ii); if( mainpro == null ) break; if(ii == value){ mainpro.className="current"; subpro.style.display="block"; }else if(ii != value){ mainpro.className=""; subpro.style.display="none"; } } } function showproduct1(value){ for (var ii = 0; ii <= 10; ii++){ var mainpro1 = document.getElementById("mainpro1" + ii); var subpro1 = document.getElementById("subpro1" + ii); if( mainpro1 == null ) break; if(ii == value){ mainpro1.className="current"; subpro1.style.display="block"; }else if(ii != value){ mainpro1.className=""; subpro1.style.display="none"; } } } function showproduct2(value){ for (var ii = 0; ii <= 10; ii++){ var mainpro2 = document.getElementById("mainpro2" + ii); var subpro2 = document.getElementById("subpro2" + ii); if( mainpro2 == null ) break; if(ii == value){ mainpro2.className="current"; subpro2.style.display="block"; }else if(ii != value){ mainpro2.className=""; subpro2.style.display="none"; } } } function showproduct3(value){ for (var ii = 0; ii <= 10; ii++){ var mainpro3 = document.getElementById("mainpro3" + ii); var subpro3 = document.getElementById("subpro3" + ii); if( mainpro3 == null ) break; if(ii == value){ mainpro3.className="current"; subpro3.style.display="block"; }else if(ii != value){ mainpro3.className=""; subpro3.style.display="none"; } } } function showproduct4(value){ for (var ii = 0; ii <= 10; ii++){ var mainpro4 = document.getElementById("mainpro4" + ii); var subpro4 = document.getElementById("subpro4" + ii); if( mainpro4 == null ) break; if(ii == value){ mainpro4.className="current"; subpro4.style.display="block"; }else if(ii != value){ mainpro4.className=""; subpro4.style.display="none"; } } } function showlist(value){ for (var ii = 0; ii <= 10; ii++){ var mainp = document.getElementById("mainp" + ii); var subp = document.getElementById("subp" + ii); if( mainp == null ) break; if(ii == value){ mainp.className="current"; subp.style.display="block"; }else if(ii != value){ mainp.className=""; subp.style.display="none"; } } } 实现原理 js中保存着菜单路径(相对)和路径文件的中文. 比较当前的页面,找到路径就显示. 并根据此来设置高亮