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 相关文章推荐
求解开jscript.encode代码的asp函数
Feb 28 Javascript
json-lib出现There is a cycle in the hierarchy解决办法
Feb 24 Javascript
JavaScript中匿名、命名函数的性能测试
Sep 04 Javascript
javascript动态设置样式style实例分析
May 13 Javascript
JS 实现可停顿的垂直滚动实例代码
Nov 23 Javascript
Angular路由简单学习
Dec 26 Javascript
jQuery文字轮播特效
Feb 12 Javascript
详解用webpack2搭建angular2的项目
Jun 22 Javascript
JS实现批量上传文件并显示进度功能
Jun 27 Javascript
create-react-app构建项目慢的解决方法
Mar 14 Javascript
JavaScript调用模式与this关键字绑定的关系
Apr 21 Javascript
基于vue实现移动端圆形旋钮插件效果
Nov 28 Javascript
几行代码轻松搞定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
php email邮箱正则
2008/10/08 PHP
php date()日期时间函数详解
2010/05/16 PHP
php header示例代码(推荐)
2010/09/08 PHP
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
2011/02/08 PHP
php header Content-Type类型小结
2011/07/03 PHP
DOM XPATH获取img src值的query
2013/09/23 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
2020/08/17 PHP
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
一些不错的js函数ajax
2008/08/20 Javascript
js Event对象的5种坐标
2011/09/12 Javascript
js 判断上传文件大小及格式代码
2013/11/13 Javascript
js设置组合快捷键/tabindex功能的方法
2013/11/21 Javascript
jQuery实现平滑滚动的标签分栏切换效果
2015/08/28 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
2016/05/24 Javascript
VUEJS实战之修复错误并且美化时间(2)
2016/06/13 Javascript
jQuery使用正则表达式限制文本框只能输入数字
2016/06/18 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
QQ跳转支付宝并自动领红包脚本(最新)
2018/06/22 Javascript
javascript动态创建对象的属性详解
2018/11/07 Javascript
layui--select使用以及下拉框实现键盘选择的例子
2019/09/24 Javascript
python开发准备工作之配置虚拟环境(非常重要)
2019/02/11 Python
Python叠加两幅栅格图像的实现方法
2019/07/05 Python
python深copy和浅copy区别对比解析
2019/12/26 Python
python爬虫---requests库的用法详解
2020/09/28 Python
x-ua-compatible content=”IE=7, IE=9″意思理解
2013/07/22 HTML / CSS
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
七匹狼男装广告词
2014/03/21 职场文书
应届生求职自荐信范文
2014/04/07 职场文书
社区党的群众路线教育实践活动总结材料
2014/10/31 职场文书
骨干教师申报材料
2014/12/17 职场文书
2015年班组工作总结
2015/04/20 职场文书
2016年度农村党员干部主题教育活动总结
2016/04/06 职场文书
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python
win11电脑关机鼠标灯还亮怎么解决? win11关机后鼠标灯还亮解决方法
2023/01/09 数码科技