树形菜单右键如何动态配置

       
       
function Node(id, pid, name, url, title, target, icon, iconOpen, open) { this .id = id; this .pid = pid; this .name = name; this .url = url; this .title = title; this .target = target; this .icon = icon; this .iconOpen = iconOpen; this ._io = open || false ; this ._is = false ; this ._ls = false ; this ._hc = false ; this ._ai = 0 ; this ._p; }; // Tree object function dTree(objName) { this .config = { target : null , folderLinks : true , useSelection : true , useCookies : true , useLines : true , useIcons : true , useStatusText : false , closeSameLevel : false , inOrder : false } this .icon = { root : ' img/base.gif ' , folder : ' img/folder.gif ' , folderOpen : ' img/folderopen.gif ' , node : ' img/page.gif ' , empty : ' img/empty.gif ' , line : ' img/line.gif ' , join : ' img/join.gif ' , joinBottom : ' img/joinbottom.gif ' , plus : ' img/plus.gif ' , plusBottom : ' img/plusbottom.gif ' , minus : ' img/minus.gif ' , minusBottom : ' img/minusbottom.gif ' , nlPlus : ' img/nolines_plus.gif ' , nlMinus : ' img/nolines_minus.gif ' }; this .obj = objName; this .aNodes = []; this .aIndent = []; this .root = new Node( - 1 ); this .selectedNode = null ; this .selectedFound = false ; this .completed = false ; }; // Adds a new node to the node array dTree.prototype.add = function (id, pid, name, url, title, target, icon, iconOpen, open) { this .aNodes[ this .aNodes.length] = new Node(id, pid, name, url, title, target, icon, iconOpen, open); }; // Open/close all nodes dTree.prototype.openAll = function () { this .oAll( true ); }; dTree.prototype.closeAll = function () { this .oAll( false ); }; // Outputs the tree to the page dTree.prototype.toString = function () { var str = ' <div class="dtree">/n ' ; if (document.getElementById) { if ( this .config.useCookies) this .selectedNode = this .getSelected(); str += this .addNode( this .root); } else str += ' Browser not supported. ' ; str += ' </div> ' ; if ( ! this .selectedFound) this .selectedNode = null ; this .completed = true ; return str; }; // Creates the tree structure dTree.prototype.addNode = function (pNode) { var str = '' ; var n = 0 ; if ( this .config.inOrder) n = pNode._ai; for (n; n < this .aNodes.length; n ++ ) { if ( this .aNodes[n].pid == pNode.id) { var cn = this .aNodes[n]; cn._p = pNode; cn._ai = n; this .setCS(cn); if ( ! cn.target && this .config.target) cn.target = this .config.target; if (cn._hc && ! cn._io && this .config.useCookies) cn._io = this .isOpen(cn.id); if ( ! this .config.folderLinks && cn._hc) cn.url = null ; if ( this .config.useSelection && cn.id == this .selectedNode && ! this .selectedFound) { cn._is = true ; this .selectedNode = n; this .selectedFound = true ; } str += this .node(cn, n); if (cn._ls) break ; } } return str; }; // Creates the node icon, url and text dTree.prototype.node = function (node, nodeId) { var str = ' <div class="dTreeNode"> ' + this .indent(node, nodeId); if ( this .config.useIcons) { if ( ! node.icon) node.icon = ( this .root.id == node.pid) ? this .icon.root : ((node._hc) ? this .icon.folder : this .icon.node); if ( ! node.iconOpen) node.iconOpen = (node._hc) ? this .icon.folderOpen : this .icon.node; if ( this .root.id == node.pid) { node.icon = this .icon.root; node.iconOpen = this .icon.root; } str += ' <img id="i ' + this .obj + nodeId + ' " src=" ' + ((node._io) ? node.iconOpen : node.icon) + ' " alt="" /> ' ; } if (node.url) { str += ' <a id="s ' + this .obj + nodeId + ' " class=" ' + (( this .config.useSelection) ? ((node._is ? ' nodeSel ' : ' node ' )) : ' node ' ) + ' " href=" ' + node.url + ' " ' ; if (node.title) str += ' title=" ' + node.title + ' " ' ; if (node.target) str += ' target=" ' + node.target + ' " ' ; if ( this .config.useStatusText) str += ' οnmοuseοver="window.status=/' ' + node.name + ' /';return true;" οnmοuseοut="window.status=/'/';return true;" ' ; if ( this .config.useSelection && ((node._hc && this .config.folderLinks) || ! node._hc)) str += ' οnclick="javascript: ' + this .obj + ' .s( ' + nodeId + ' );" ' ; str += ' > ' ; } else if (( ! this .config.folderLinks || ! node.url) && node._hc && node.pid != this .root.id) str += ' <a href="javascript: ' + this .obj + ' .o( ' + nodeId + ' );" class="node"> ' ; str += node.name; if (node.url || (( ! this .config.folderLinks || ! node.url) && node._hc)) str += ' </a> ' ; str += ' </div> ' ; if (node._hc) { str += ' <div id="d ' + this .obj + nodeId + ' " class="clip" style="display: ' + (( this .root.id == node.pid || node._io) ? ' block ' : ' none ' ) + ' ;"> ' ; str += this .addNode(node); str += ' </div> ' ; } this .aIndent.pop(); return str; };
 
发表于:2007-12-07 22:58:487楼 得分:0
JScript code
           
           
function Node(id, pid, name, url, title, target, icon, iconOpen, open) { this .id = id; this .pid = pid; this .name = name; this .url = url; this .title = title; this .target = target; this .icon = icon; this .iconOpen = iconOpen; this ._io = open || false ; this ._is = false ; this ._ls = false ; this ._hc = false ; this ._ai = 0 ; this ._p; }; // Tree object function dTree(objName) { this .config = { target : null , folderLinks : true , useSelection : true , useCookies : true , useLines : true , useIcons : true , useStatusText : false , closeSameLevel : false , inOrder : false } this .icon = { root : ' img/base.gif ' , folder : ' img/folder.gif ' , folderOpen : ' img/folderopen.gif ' , node : ' img/page.gif ' , empty : ' img/empty.gif ' , line : ' img/line.gif ' , join : ' img/join.gif ' , joinBottom : ' img/joinbottom.gif ' , plus : ' img/plus.gif ' , plusBottom : ' img/plusbottom.gif ' , minus : ' img/minus.gif ' , minusBottom : ' img/minusbottom.gif ' , nlPlus : ' img/nolines_plus.gif ' , nlMinus : ' img/nolines_minus.gif ' }; this .obj = objName; this .aNodes = []; this .aIndent = []; this .root = new Node( - 1 ); this .selectedNode = null ; this .selectedFound = false ; this .completed = false ; }; // Adds a new node to the node array dTree.prototype.add = function (id, pid, name, url, title, target, icon, iconOpen, open) { this .aNodes[ this .aNodes.length] = new Node(id, pid, name, url, title, target, icon, iconOpen, open); }; // Open/close all nodes dTree.prototype.openAll = function () { this .oAll( true ); }; dTree.prototype.closeAll = function () { this .oAll( false ); }; // Outputs the tree to the page dTree.prototype.toString = function () { var str = ' <div class="dtree">/n ' ; if (document.getElementById) { if ( this .config.useCookies) this .selectedNode = this .getSelected(); str += this .addNode( this .root); } else str += ' Browser not supported. ' ; str += ' </div> ' ; if ( ! this .selectedFound) this .selectedNode = null ; this .completed = true ; return str; }; // Creates the tree structure dTree.prototype.addNode = function (pNode) { var str = '' ; var n = 0 ; if ( this .config.inOrder) n = pNode._ai; for (n; n < this .aNodes.length; n ++ ) { if ( this .aNodes[n].pid == pNode.id) { var cn = this .aNodes[n]; cn._p = pNode; cn._ai = n; this .setCS(cn); if ( ! cn.target && this .config.target) cn.target = this .config.target; if (cn._hc && ! cn._io && this .config.useCookies) cn._io = this .isOpen(cn.id); if ( ! this .config.folderLinks && cn._hc) cn.url = null ; if ( this .config.useSelection && cn.id == this .selectedNode && ! this .selectedFound) { cn._is = true ; this .selectedNode = n; this .selectedFound = true ; } str += this .node(cn, n); if (cn._ls) break ; } } return str; }; // Creates the node icon, url and text dTree.prototype.node = function (node, nodeId) { var str = ' <div class="dTreeNode"> ' + this .indent(node, nodeId); if ( this .config.useIcons) { if ( ! node.icon) node.icon = ( this .root.id == node.pid) ? this .icon.root : ((node._hc) ? this .icon.folder : this .icon.node); if ( ! node.iconOpen) node.iconOpen = (node._hc) ? this .icon.folderOpen : this .icon.node; if ( this .root.id == node.pid) { node.icon = this .icon.root; node.iconOpen = this .icon.root; } str += ' <img id="i ' + this .obj + nodeId + ' " src=" ' + ((node._io) ? node.iconOpen : node.icon) + ' " alt="" /> ' ; } if (node.url) { str += ' <a id="s ' + this .obj + nodeId + ' " class=" ' + (( this .config.useSelection) ? ((node._is ? ' nodeSel ' : ' node ' )) : ' node ' ) + ' " href=" ' + node.url + ' " ' ; if (node.title) str += ' title=" ' + node.title + ' " ' ; if (node.target) str += ' target=" ' + node.target + ' " ' ; if ( this .config.useStatusText) str += ' οnmοuseοver="window.status=/' ' + node.name + ' /';return true;" οnmοuseοut="window.status=/'/';return true;" ' ; if ( this .config.useSelection && ((node._hc && this .config.folderLinks) || ! node._hc)) str += ' οnclick="javascript: ' + this .obj + ' .s( ' + nodeId + ' );" ' ; str += ' > ' ; } else if (( ! this .config.folderLinks || ! node.url) && node._hc && node.pid != this .root.id) str += ' <a href="javascript: ' + this .obj + ' .o( ' + nodeId + ' );" class="node"> ' ; str += node.name; if (node.url || (( ! this .config.folderLinks || ! node.url) && node._hc)) str += ' </a> ' ; str += ' </div> ' ; if (node._hc) { str += ' <div id="d ' + this .obj + nodeId + ' " class="clip" style="display: ' + (( this .root.id == node.pid || node._io) ? ' block ' : ' none ' ) + ' ;"> ' ; str += this .addNode(node); str += ' </div> ' ; } this .aIndent.pop(); return str; };
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值