javascript+dom树型菜单类,希望朋友们一起进步

所属分类: 网络编程 / JavaScript 阅读数: 1158
收藏 0 赞 0 分享
树菜单js网上多得是,自己写了一个树菜单类,自认为还不错,公开大家共享和探讨,和大家一起进步最快乐!!
/*  KuoMart.com__MyKuoMart , Create By ybcola(at)163.com , 2006-7-2
   Last Modified 2006-7-2 , ybcola@163.com */
<!--
function Dtree(){
this.MenuGroupClose="images/treeview_close.gif"; //菜单关闭图标
this.MenuGroupOpen="images/treeview_open.gif"; //菜单打开图标
this.MenuItemClass=""; //菜单项样式
this.MenuItemInfoClass=""; //菜单链接样式
this.MenuItemlPad="12px";//下级菜单缩进仁值
this.DefaultGroupState=false; //菜单组装入时默认状态
document.write("<div id=\"treeroot\"></div>");
this.Node=document.getElementById("treeroot");
//0结点DOM对像,数组1为连接显示,2为连接href,3为连接target,4为连接显示前图标
this.AddItem=function(menuinfo){
var div=creatediv();
  var div1=creatediv();
var ico=[this.MenuGroupClose,this.MenuGroupOpen];
div.className=this.MenuItemClass;
div1.style.marginLeft=this.MenuItemlPad;
div1.style.display=this.DefaultGroupState?"":"none";
var Node=menuinfo[0]?menuinfo[0][1]:this.Node;
var iteminfo="";
if(menuinfo[4]) iteminfo="<img src=\""+menuinfo[4]+"\" align=\"absmiddle\">";
if(menuinfo[2]) iteminfo+=" <a href=\""+menuinfo[2]+"\" target=\""+menuinfo[3]+"\" class=\""+this.MenuItemInfoClass+"\">";
iteminfo+=menuinfo[1];
if(menuinfo[2])iteminfo+="</a>";
div.innerHTML=iteminfo;
Node.appendChild(div);
Node.appendChild(div1);
if(menuinfo[0]){
if(!menuinfo[0][0].havechild) {
var as=document.createElement("img");
as.src=ico[1];
as.align="absmiddle";
as.onclick=function(){
 swapshow(Node,as,ico);
}
menuinfo[0][0].insertBefore(as,menuinfo[0][0].firstChild);
as.insertAdjacentText("afterEnd"," ");
menuinfo[0][0].havechild=true;
}
}
return [div,div1];
}

function creatediv(){
var div=document.createElement("div");
return div;
}

function swapshow(obj,ico,oo){
if(obj.style.display!=""){
obj.style.display="";
ico.src=oo[0];

else{
obj.style.display="none";
ico.src=oo[1];
}
}
}
-->  
更多精彩内容其他人还在看

js HTML5 Ajax实现文件上传进度条功能

这篇文章主要介绍了javascript实现文件上传进度条功能的相关资料啊,感兴趣的朋友可以参考一下
收藏 0 赞 0 分享

JavaScript正则表达式的分组匹配详解

本文给大家详细介绍了JavaScript正则表达式的分组匹配的概念以及具体的使用方法并附上了相关示例,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

javascript基础知识分享之类与函数化

在C++中是以class来声明一个类的,JavaScript与C++不同,它使用了与函数一样的function来声明,这就让许多学Jscript的朋友把类与函数混在一起了,在Jscript中函数与类确实有些混,但使用久了自然会理解,这篇文章是针对想进攻面向对象编程的朋友而写,就不
收藏 0 赞 0 分享

Javascript 字符串模板的简单实现

这篇文章给大家描述的是如何一步步简单的实现Javascript 字符串模板,对于初学javascript的菜鸟们来说应该是篇不错的文章,希望对大家能够有所帮助。
收藏 0 赞 0 分享

JavaScript常用数组算法小结

在开发项目的过程中,我们经常会需要关于javascript数组的一些算法,比方说数组去重、数组求交集、数组扰乱等等。今天就把个人的汇总整理的算法分享给大家。
收藏 0 赞 0 分享

javascript实现查找数组中最大值方法汇总

本文给大家汇总了一下使用javascript实现查找数组中最大最小值的一些方法,非常的简单实用,有需要的小伙伴可以来参考下。
收藏 0 赞 0 分享

JavaScript操作class和style样式代码详解

这篇文章主要介绍了JavaScript操作class和style样式的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

JavaScript中关联原型链属性特性

这篇文章主要介绍了JavaScript中关联原型链属性特性的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

JavaScript中通过提示框跳转页面的方法

这篇文章主要介绍了JavaScript中通过提示框跳转页面的方法的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

jQuery插件支持同一页面被多次调用

这篇文章主要介绍了jQuery插件支持同一页面被多次调用的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多