zoukankan      html  css  js  c++  java
  • 无极限下子菜单

    <title>网页特效 js封装无限级下拉树形菜单 站长特效网</title>
    <style type="text/css">
    *{ margin:0; padding:0;list-style:none;}
    body { margin:20px;}
    h5 { font-size:12px; text-align:center; font-weight:normal; color:#666; line-height:28px;}
    #nav a { text-decoration:underline;color:#06c; font-size:14px; line-height:24px;}
    #nav ul{ margin-bottom:5px;}
    #nav strong{ color:#696;}
    #nav.dyn li ul{ display:none;}
    #nav.dyn li ul.show{ display:block;}
    #nav.dyn li{ padding-left:15px;}
    #nav.dyn li.parent{background:url(/img/user_20110112zzjs_net.gif) 5px 10px no-repeat;}
    #nav.dyn li.open{ background:url(/img/user_20110112zzjs_net.gif) 5px -34px no-repeat;}
    </style>
    <script type="text/javascript">
    DOMhelp = {
    debugWindowId: 'DOMhelpdebug',
    init: function() {
    if (!document.getElementById || !document.createTextNode) { return; }
    },
    lastSibling: function(node) {
    var tempObj = node.parentNode.lastChild;
    while (tempObj.nodeType != 1 && tempObj.previousSibling != null) {
    tempObj = tempObj.previousSibling;
    }//欢迎来到站长特效网,我们的网址是www.zzjs..net,很好记,zz站长,js就是js特效,本站收集大量高质量js代码,还有许多广告代码下载。
    return (tempObj.nodeType == 1) ? tempObj : false;
    },
    firstSibling: function(node) {
    var tempObj = node.parentNode.firstChild;
    while (tempObj.nodeType != 1 && tempObj.nextSibling != null) {
    tempObj = tempObj.nextSibling;
    }//欢迎来到站长特效.网,我们的网址是www.zzjs.net,很好记,zz站长,js就是js特效,本站收集大量高质量js代码,还有许多广告代码下载。
    return (tempObj.nodeType == 1) ? tempObj : false;
    },
    getText: function(node) {
    if (!node.hasChildNodes()) { return false; }
    var reg = /^s+$/;
    var tempObj = node.firstChild;
    while (tempObj.nodeType != 3 && tempObj.nextSibling != null || reg.test(tempObj.nodeValue)) {
    tempObj = tempObj.nextSibling;
    }
    return tempObj.nodeType == 3 ? tempObj.nodeValue : false;
    },
    setText: function(node, txt) {
    if (!node.hasChildNodes()) { return false; }
    var reg = /^s+$/;
    var tempObj = node.firstChild;
    while (tempObj.nodeType != 3 && tempObj.nextSibling != null || reg.test(tempObj.nodeValue)) {
    tempObj = tempObj.nextSibling;
    }//欢迎来到站长特效网,我们的网址是www.zzjs.net,很好记,zz站长 ,js就是js特效,本站收集大量高质量js代码,还有许多广告代码下载。
    if (tempObj.nodeType == 3) { tempObj.nodeValue = txt } else { return false; }
    },
    createLink: function(to, txt) {
    var tempObj = document.createElement('a');
    tempObj.appendChild(document.createTextNode(txt));
    tempObj.setAttribute('href', to);
    return tempObj;
    },
    createTextElm: function(elm, txt) {
    var tempObj = document.createElement(elm);
    tempObj.appendChild(document.createTextNode(txt));
    return tempObj;
    },
    closestSibling: function(node, direction) {
    var tempObj;
    if (direction == -1 && node.previousSibling != null) {
    tempObj = node.previousSibling;
    while (tempObj.nodeType != 1 && tempObj.previousSibling != null) {
    tempObj = tempObj.previousSibling;
    }//欢迎来到站长特效网,我们的网址是www.zzjs.net,很好记,zz站长,js就是js特效,z本站收集大量高质量js代码,还有许多广告代码下载。
    } else if (direction == 1 && node.nextSibling != null) {
    tempObj = node.nextSibling;
    while (tempObj.nodeType != 1 && tempObj.nextSibling != null) {
    tempObj = tempObj.nextSibling;
    }
    }
    return tempObj.nodeType == 1 ? tempObj : false;
    },
    initDebug: function() {
    if (DOMhelp.debug) { DOMhelp.stopDebug(); }
    DOMhelp.debug = document.createElement('div');
    DOMhelp.debug.setAttribute('id', DOMhelp.debugWindowId);
    document.body.insertBefore(DOMhelp.debug, document.body.firstChild);
    },
    setDebug: function(bug) {
    if (!DOMhelp.debug) { DOMhelp.initDebug(); }
    DOMhelp.debug.innerHTML += bug + ' ';
    },
    stopDebug: function() {
    if (DOMhelp.debug) {
    DOMhelp.debug.parentNode.removeChild(DOMhelp.debug);
    DOMhelp.debug = null;
    }//欢迎来到站长特效网,我们的网址是www.zzjs.net,很好记,zz站长,js就是js特效,本站收集大量高质量js代码,还有许多广告代码下z载。
    },
    getKey: function(e) {
    if (window.event) {
    var key = window.event.keyCode;
    } else if (e) {
    var key = e.keyCode;
    }//欢迎来到站长特效网,我们的网址是www.zzjs.net,很好记,zz站长,js就是js特效,本站收集大量高质量js代码,还z有许多广告代码下载。
    return key;
    },
    /* helper methods */
    getTarget: function(e) {
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) { return false; }
    while (target.nodeType != 1 && target.nodeName.toLowerCase() != 'body') {
    target = target.parentNode;
    }
    return target;
    },
    stopBubble: function(e) {
    if (window.event && window.event.cancelBubble) {
    window.event.cancelBubble = true;
    }//欢迎来到站长特效网,我们的网址是www.zzjs.net,很好记,zz站长,js就是js特效,z本站收集大量高质量js代码,还有许多广告代码下载。
    if (e && e.stopPropagation) {
    e.stopPropagation();
    }
    },
    stopDefault: function(e) {
    if (window.event && window.event.returnValue) {
    window.event.returnValue = false;
    }//欢迎来到站长特z效网,我们的网址是www.zzjs.net,很好记,zz站长,js就是js特效,本站收集大量高质量js代码,还有许多广告代码下载。
    if (e && e.preventDefault) {
    e.preventDefault();
    }
    },
    cancelClick: function(e) {
    if (window.event) {
    window.event.cancelBubble = true;
    window.event.returnValue = false;
    }
    if (e && e.stopPropagation && e.preventDefault) {
    e.stopPropagation();
    e.preventDefault();
    }//欢迎来到站长特效网,我们的网址是www. zzjs.net,很好记,zz站长,js就是js特效,本站收集大量高质量js代码,还有许多广告代码下载。
    },
    addEvent: function(elm, evType, fn, useCapture) {
    if (elm.addEventListener) {
    elm.addEventListener(evType, fn, useCapture);
    return true;
    } else if (elm.attachEvent) {
    var r = elm.attachEvent('on' + evType, fn);
    return r;
    } else {
    elm['on' + evType] = fn;
    }//欢迎来到站长特效网,我们的网址是ww w.zzjs.net,很好记,zz站长,js就是js特效,本站收集大量高质量js代码,还有许多广告代码下载。
    },
    cssjs: function(a, o, c1, c2) {
    switch (a) {
    case 'swap':
    o.className = !DOMhelp.cssjs('check', o, c1) ? o.className.replace(c2, c1) : o.className.replace(c1, c2);
    break;
    case 'add':
    if (!DOMhelp.cssjs('check', o, c1)) { o.className += o.className ? ' ' + c1 : c1; }
    break;
    case 'remove':
    var rep = o.className.match(' ' + c1) ? ' ' + c1 : c1;
    o.className = o.className.replace(rep, '');
    break;
    case 'check':
    var found = false;
    var temparray = o.className.split(' ');
    for (var i = 0; i < temparray.length; i++) {
    if (temparray[i] == c1) { found = true; }
    }//欢迎来到站z长特效网,我们的网址是www.zzjs.net,很好记,zz站长,js就是js特效,本站收集大量高质量js代码,还有许多广告代码下载。
    return found;
    break;
    }//欢迎来到站长特z效网,我们的网址是www.zzjs.net,很好记,zz站长,js就是js特效,本站收集大量高质量js代码,还有许多广告代码下载。
    },
    safariClickFix: function() {
    return false;
    }
    }//欢迎来到站长z特效网,我们的网址是www.zzjs.net,很好记,zz站长,js就是js特效,本站收集大量高质量js代码,还有许多广告代码下载。
    DOMhelp.addEvent(window, 'load', DOMhelp.init, false);
    </script>
    <script type="text/javascript">
    <!--
    sn = {
    dynamicClass: 'dyn',
    showClass: 'show',
    parentClass: 'parent',
    openClass: 'open',
    navID: 'nav',
    init: function() {
    var triggerLink;
    if (!document.getElementById || !document.createTextNode) { return; }
    var nav = document.getElementById(sn.navID);
    if (!nav) { return; }
    DOMhelp.cssjs('add', nav, sn.dynamicClass);
    var nested = nav.getElementsByTagName('ul');
    for (var i = 0; i < nested.length; i++) {
    triggerLink = nested[i].parentNode.getElementsByTagName('a')[0];
    DOMhelp.cssjs('add', triggerLink.parentNode, sn.parentClass);
    DOMhelp.addEvent(triggerLink, 'click', sn.changeSection, false);
    triggerLink.onclick = DOMhelp.safariClickFix;
    if (nested[i].parentNode.getElementsByTagName('strong').length > 0) {
    DOMhelp.cssjs('add', triggerLink.parentNode, sn.openClass);
    DOMhelp.cssjs('add', nested[i], sn.showClass);
    }
    }
    },
    changeSection: function(e) {
    var t = DOMhelp.getTarget(e);
    var firstList = t.parentNode.getElementsByTagName('ul')[0];
    if (DOMhelp.cssjs('check', firstList, sn.showClass)) {
    DOMhelp.cssjs('remove', firstList, sn.showClass)
    DOMhelp.cssjs('swap', t.parentNode, sn.openClass, sn.parentClass);
    } else {
    DOMhelp.cssjs('add', firstList, sn.showClass)
    DOMhelp.cssjs('swap', t.parentNode, sn.openClass, sn.parentClass);
    }
    DOMhelp.cancelClick(e);
    }
    }//欢迎来到站长特效网,我们的网址是www.zzjs.net,很好记,zz站长,js就是js特效,本站收集大量高质量js代码,还有许多广告代码下载。
    DOMhelp.addEvent(window, 'load', sn.init, false);
    -->
    </script>
    <a href="http://www.zzjs.net/">站长特效网</a>,以质量为核心,以实用为目的,打造一流网页特效站!zzjs.net,站长js特效。<hr>
    <!--欢迎来到站长特效网,我们网站收集大量高质量js特效,提供许多广告代码下载,网址:www.zzjs.net,zzjs@msn.com,用.net打造靓站-->
    <ul id="nav">
    <li><a href="http://www.zzjs.net">站长特效首页</a></li>
    <li><a href="#">站长特效一号</a>
    <ul>
    <li><a href="#">大类别一</a>
    <ul>
    <li><a href="#">小类别一</a>
    <ul>
    <li><a href="#">次类别一</a></li>
    <li><a href="#">次类别二</a></li>
    </ul>
    </li>
    <li><a href="#">小类别二</a></li>
    </ul>
    </li>
    <li><a href="#">大类别二</a></li>
    <li><a href="#">大类别三</a>
    <ul>
    <li><a href="#">小类别一</a></li>
    <li><a href="#">小类别二</a></li>
    </ul>
    </li>
    </ul>
    </li>
    <li><a href="#">站长特效二号</a>
    <ul>
    <li><a href="#">大类别一</a></li>
    <li><a href="#">大类别二</a></li>
    <li><a href="#">大类别三</a></li>
    </ul>
    </li>
    <li><a href="#">站长特效三号</a></li>
    <li><a href="#">站长特效四号</a>
    <ul>
    <li><a href="#">大类别一</a>
    <ul>
    <li><a href="#">小类别一</a></li>
    <li><a href="#">小类别二</a></li>
    </ul>
    </li>
    <li><a href="#">大类别二</a>
    <ul>
    <li><a href="#">小类别一</a></li>
    <li><a href="#">小类别二</a></li>
    </ul>
    </li>
    <li><a href="#">大类别三</a>
    <ul>
    <li><a href="#">小类别一</a></li>
    <li><a href="#">小类别二</a></li>
    </ul>
    </li>
    <li><a href="#">大类别四</a></li>
    </ul>
    </li>
    <li><a href="#">站长特效五号</a>
    <ul>
    <li><a href="#">大类别一</a></li>
    <li><a href="#">大类别二</a></li>
    </ul>
    </li>
    </ul>

  • 相关阅读:
    Vim
    CMake学习之路
    linux tree命令以树形结构显示文件目录结构
    代码阅读软件Understand安装
    ROS学习之ShadowRepository
    WPF初学(一)——布局【良好界面的基础】
    浅学JSON——Json.NET之首次试手
    JSON资料汇总
    自定义视图 视图控制器(UIViewController)
    UIView Subclass(UI,UIButton,UITextField,UILabel)
  • 原文地址:https://www.cnblogs.com/skyay/p/3826020.html
Copyright © 2011-2022 走看看