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


Posted in Javascript onMay 03, 2007

树菜单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];
}
}
}
-->  

Javascript 相关文章推荐
基于jquery用于查询操作的实现代码
May 10 Javascript
javascript 四则运算精度修正函数代码
May 31 Javascript
jQuery事件绑定.on()简要概述及应用
Feb 07 Javascript
js日期对象兼容性的处理方法
Jan 28 Javascript
js使用post 方式打开新窗口
Feb 26 Javascript
纯js代码实现简单计算器
Dec 02 Javascript
vue计算属性时v-for处理数组时遇到的一个bug问题
Jan 21 Javascript
微信小程序实现点赞、取消点赞功能
Nov 02 Javascript
9种方法优化jQuery代码详解
Feb 04 jQuery
Vant+postcss-pxtorem 实现浏览器适配功能
Feb 05 Javascript
React四级菜单的实现
Apr 08 Javascript
vue中data里面的数据相互使用方式
Jun 05 Vue.js
几行代码轻松搞定jquery实现flash8类似的连接效果
May 03 #Javascript
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
May 03 #Javascript
javascript静态的url如何传递
May 03 #Javascript
可以支持多中格式的JS键盘
May 02 #Javascript
javascript英文日期(有时间)选择器
May 02 #Javascript
(推荐一个超好的JS函数库)S.Sams Lifexperience ScriptClassLib
Apr 29 #Javascript
JavaScript 实现??打印?理
Apr 28 #Javascript
You might like
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
PHP小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
不要轻信 PHP_SELF的安全问题
2009/09/05 PHP
php define的第二个参数使用方法
2013/11/04 PHP
CI框架自动加载session出现报错的解决办法
2014/06/17 PHP
smarty学习笔记之常见代码段用法总结
2016/03/19 PHP
详解WordPress中添加友情链接的方法
2016/05/21 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
2019/04/10 PHP
textContent在Firefox下与innerText等效的属性
2007/05/12 Javascript
JavaScript 对象链式操作测试代码
2010/04/25 Javascript
jquery获取ASP.NET服务器端控件dropdownlist和radiobuttonlist生成客户端HTML标签后的value和text值
2010/06/28 Javascript
jquery 判断滚动条到达了底部和顶端的方法
2014/04/02 Javascript
js Dialog 去掉右上角的X关闭功能
2014/04/23 Javascript
Javascript中For In语句用法实例
2015/05/14 Javascript
JS模拟按钮点击功能的方法
2015/12/22 Javascript
js实现文字选中分享功能
2017/01/25 Javascript
angularJS之$http:与服务器交互示例
2017/03/17 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
2017/08/31 Javascript
jQuery实现倒计时功能 jQuery实现计时器功能
2017/09/19 jQuery
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
2018/12/11 Javascript
python创建关联数组(字典)的方法
2015/05/04 Python
完美解决python遍历删除字典里值为空的元素报错问题
2016/09/11 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
Python三种遍历文件目录的方法实例代码
2018/01/19 Python
python中的set实现不重复的排序原理
2018/01/24 Python
python3.7 使用pymssql往sqlserver插入数据的方法
2019/07/08 Python
pytorch的batch normalize使用详解
2020/01/15 Python
TensorFlow:将ckpt文件固化成pb文件教程
2020/02/11 Python
python matplotlib实现将图例放在图外
2020/04/17 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
统计系教授推荐信
2014/02/28 职场文书
安全生产承诺书
2014/03/26 职场文书
北京离婚协议书范文2014
2014/09/29 职场文书
政工师工作总结2015
2015/05/26 职场文书
Python开发工具Pycharm的安装以及使用步骤总结
2021/06/24 Python