JQuery EasyUI 结合 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
// 回调函数:单击事件
function zTreeOnClick(event,treeId,treeNode,clickFlag) {
alert(treeNode.id + "," + treeNode.name);
var content = '<div style="width:100%;height:100% ;overflow:hidden;">'
+'<iframe src="'
+treeNode.url
+'" scrolling="auto" style="width:100%;height:100%;border:0;">
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,"name":"罗宾","url":"http://www.baidu.com"},{"id":13,"name":"汉库克","url":"http://www.google.cn/"},{ "id":2,"name":"父节点 2","open":true},{"id":21,"pId":2,"name":"叶子节点 2-1"},{"id":22,"name":"叶子节点 2-2"},{"id":23,"name":"叶子节点 2-3"},{"id":3,"name":"父节点 3",{"id":31,"pId":3,"name":"叶子节点 3-1"},{"id":32,"name":"叶子节点 3-2"},{"id":33,"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);
// 当点击关闭其他选项卡时
}else if(item.name === 'others'){
var tabs = $('#tt').tabs('tabs');
$(tabs).each(function(){
if($(this).panel('options').title != '消息中心' && $(this).panel('options').title != title){
$('#tt').tabs('close',$(this).panel('options').title);
}
});
// 当点击关闭所有选项卡时
}else if(item.name === 'all'){
var tabs = $('#tt').tabs('tabs');
$(tabs).each(function(){
if($(this).panel('options').title != '消息中心'){
$('#tt').tabs('close',$(this).panel('options').title);
}
});
}
}
});
}
})
})