JQueryEasyUI结合zTree树形结构制作web页面.easyui用起来比较简单,很好的封装了jquery的部分功能,使用起来更加方便,但是从1.2.3版本以后,商业用途是需要付费的,zTree是国内的大牛们搞的一个jquery树形tree插件,感觉很好用,很强大,而且完全免费,API等做的也非常不错.推荐
easyui是一个基于jQuery的框架,集成了各种用户界面插件。
easyui提供建立现代化的具有交互性的javascript应用的必要的功能。
使用easyui,您不需要写太多javascript代码,一般情况下您只需要使用一些html标记来定义用户界面。
HTML网页的完整框架。
easyui节省了开发产品的时间和规模。
easyui非常简单,但是功能非常强大。
需要的导入以下几种js文件和样式表
easyui/themes/default/easyui.css
easyui/themes/icon.css
jquery-1.8.3.js
easyui/jquery.easyui.min.js
ztree/jquery.ztree.all-3.5.js(该文件包括core,exhide,exedit,excheck)
ztree/zTreeStyle.css
//ztree菜单设置
varzTreeObj,
setting={
view:{
selectedMulti:false
},
//添加编辑设置:修改树节点名称/删除树节点
edit:{
enable:true
},
data:{
simpleData:{
enable:true
}
},
callback:{
onClick:zTreeOnClick
}
};
//回调函数:单击事件
functionzTreeOnClick(event,treeId,treeNode,clickFlag){
alert(treeNode.id+","+treeNode.name);
varcontent=''
+'
';
if(treeNode.url!=undefined&&treeNode.url!=""){
//当centre中是否存在名称为treeNode.name的tabs
if($("#tt").tabs('exists',treeNode.name)){
$("#tt").tabs('select',treeNode.name);
}else{
$("#tt").tabs('add',{
title:treeNode.name,
content:content,
closable:true
})
}
};
event.preventDefault();
};
//提供ztree树形菜单数据
zTreeNodes=[{"id":1,"pId":0,"name":"海贼王"},
{"id":11,"pId":1,"name":"娜美","url":"http://man.linuxde.net/"},
{"id":12,"pId":1,"name":"罗宾","url":"http://www.baidu.com"},
{"id":13,"pId":1,"name":"汉库克","url":"http://www.google.cn/"},
{"id":2,"pId":0,"name":"父节点2","open":true},
{"id":21,"pId":2,"name":"叶子节点2-1"},
{"id":22,"pId":2,"name":"叶子节点2-2"},
{"id":23,"pId":2,"name":"叶子节点2-3"},
{"id":3,"pId":0,"name":"父节点3","open":true},
{"id":31,"pId":3,"name":"叶子节点3-1"},
{"id":32,"pId":3,"name":"叶子节点3-2"},
{"id":33,"pId":3,"name":"叶子节点3-3"}
];
//3.生成树形菜单
$(document).ready(function(){
zTreeObj=$.fn.zTree.init($("#tree"),setting,zTreeNodes);
});
//4.对象选项卡注册右击事件
$(document).ready(function(){
$("#tt").tabs({
onContextMenu:function(e,title,index){
//阻止系统默认的右击事件
e.preventDefault();
$('#mm').menu('show',{
left:e.pageX,
top:e.pageY
});
}
});
});
//获取所选取的面板对象
$(document).ready(function(){
$("#tt").tabs({
//获取所选取的面板对象
onSelect:function(title,index){
//5.menu的单击事件绑定
$("#mm").menu({
onClick:function(item){
alert(item.name);
//当点击关闭当前选项卡时
if(item.name==='current'){
$('#tt').tabs('close',title);
//当点击关闭其他选项卡时
}elseif(item.name==='others'){
vartabs=$('#tt').tabs('tabs');
$(tabs).each(function(){
if($(this).panel('options').title!='消息中心'&&$(this).panel('options').title!=title){
$('#tt').tabs('close',$(this).panel('options').title);
}
});
//当点击关闭所有选项卡时
}elseif(item.name==='all'){
vartabs=$('#tt').tabs('tabs');
$(tabs).each(function(){
if($(this).panel('options').title!='消息中心'){
$('#tt').tabs('close',$(this).panel('options').title);
}
});
}
}
});
}
})
})
相应的htm部分代码