需求:打开页面后已经生成一棵带有节点的树,需要实时更新该树每个节点的状态,根据状态,改变节点的ICON和FONT样式。
说明:找了一下,基本上都是说加载时指定颜色的,加载时指定颜色的用法,在官方示例中就有说明:
示例:显示自定义字体的树
<SCRIPT type="text/javascript">
<!--
var setting = {
view: {
fontCss: getFont,
nameIsHTML: true
}
};
var zNodes =[
{ name:"粗体字", font:{'font-weight':'bold'} },
{ name:"斜体字", font:{'font-style':'italic'}},
{ name:"有背景的字", font:{'background-color':'black', 'color':'white'}},
{ name:"红色字", font:{'color':'red'}},
{ name:"蓝色字", font:{'color':'blue'}},
{ name:"<span style='color:blue;margin-right:0px;'>view</span>.<span style='color:red;margin-right:0px;'>nameIsHTML</span>"},
{ name:"zTree 默认样式"}
];
function getFont(treeId, node) {
return node.font ? node.font : {};
}
$(document).ready(function(){
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
});
//-->
</SCRIPT>
示例:自定义图标 -- icon 属性
<SCRIPT type="text/javascript">
<!--
var setting = {
data: {
simpleData: {
enable: true
}
}
};
var zNodes =[
{ id:1, pId:0, name:"展开、折叠 自定义图标不同", open:true, iconOpen:"../../../css/zTreeStyle/img/diy/1_open.png", iconClose:"../../../css/zTreeStyle/img/diy/1_close.png"},
{ id:11, pId:1, name:"叶子节点1", icon:"../../../css/zTreeStyle/img/diy/2.png"},
{ id:12, pId:1, name:"叶子节点2", icon:"../../../css/zTreeStyle/img/diy/3.png"},
{ id:13, pId:1, name:"叶子节点3", icon:"../../../css/zTreeStyle/img/diy/5.png"},
{ id:2, pId:0, name:"展开、折叠 自定义图标相同", open:true, icon:"../../../css/zTreeStyle/img/diy/4.png"},
{ id:21, pId:2, name:"叶子节点1", icon:"../../../css/zTreeStyle/img/diy/6.png"},
{ id:22, pId:2, name:"叶子节点2", icon:"../../../css/zTreeStyle/img/diy/7.png"},
{ id:23, pId:2, name:"叶子节点3", icon:"../../../css/zTreeStyle/img/diy/8.png"},
{ id:3, pId:0, name:"不使用自定义图标", open:true },
{ id:31, pId:3, name:"叶子节点1"},
{ id:32, pId:3, name:"叶子节点2"},
{ id:33, pId:3, name:"叶子节点3"}
];
$(document).ready(function(){
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
});
//-->
</SCRIPT>
可以看到每个NODE都有一个FONT的属性,和NAME同等级。可以通过设置FONT来指定其文本样式。
通过第二个示例可以看到,还有一个ICON属性。可以通过设置ICON属性来设置更改后的图标。
应用:实时更新树状态ICON和FONT样式
$(document).ready(function(){ $.fn.zTree.init($("#treeDemo"), setting, zNodes); zTree = $.fn.zTree.getZTreeObj("treeDemo"); rMenu = $("#rMenu"); setTimeout("updateDev()",1000); // 在初始化树之后,开始更新状态,就别用setInterval了 }); var baseImgPath = "<%=basePath%>img/"; // basePath是通过JSP获得的系统根路径,不用相对路径 function updateTree(){ toDwr.getAllCode(function back(values){ if(null != values && ""!=values){ for(var code in values){ var node = zTree.getNodeByParam("id", code, null); // 每个树都有编号,通过编号找节点 if(null != node){ node.font={'color':'red'}; // 设置文本样式,这里设置文本颜色 node.icon=baseImgPath+"monitor.png"; // 设置节点图标 zTree.updateNode(node); // 更新该节点 } } } setTimeout("updateTree()",1000); } }
备注:
这里使用DWR进行异步交互,返回需要更新的列表编码。实际应用中可以根据实际情况,返回响应对象,并根据对象的属性判断到底更新为那种样式。
这里不建议使用 setInterval,建议采用setTimeout在轮询一次以后再开始下次更新操作。
请您到ITEYE网站看 java小强 原创,谢谢!
http://cuisuqiang.iteye.com/ !
自建博客地址:http://www.javacui.com/ ,内容与ITEYE同步!
相关推荐
本主题聚焦于如何利用ZTree实现基于文本内容筛选并改变叶子节点的字体颜色。这个功能在数据展示和用户交互中具有较高的实用价值,比如在搜索或过滤功能中。 首先,我们需要理解ZTree的核心概念。ZTree是由JSON数据...
需求:打开页面后已经生成一棵带有节点的树,需要实时更新该树每个节点的状态,根据状态,改变节点的ICON和FONT样式。 说明:找了一下,基本上都是说加载时指定颜色的,加载时指定颜色的用法,在官方示例中就有说明...
4. **事件监听与响应**:zTree提供了丰富的事件系统,如`onClick`、`onCheck`等,我们可以通过监听这些事件,动态改变节点的图标。比如,当用户点击某个节点时,我们可以修改该节点的`icon`属性,然后调用`update...
ZTree的编辑功能包括节点文本的修改、拖拽节点调整层级以及添加、删除节点。`setting.edit.drag`和`setting.edit.rename`分别控制拖拽和重命名功能。添加节点通常通过调用`treeObj.addNodes()`实现,删除节点则使用...
- **节点**:在zTree中,每个条目称为一个节点,包含节点ID、文本、图标等属性,可以有子节点或者叶子节点。 - **展开/收缩**:节点可以被展开显示其子节点,也可以被收缩隐藏子节点,提供了一种交互式的用户体验...
"css"目录包含了Ztree的样式表文件,这些CSS文件定义了Ztree节点的默认样式,如布局、颜色、边框等。开发者可以在这里修改或扩展样式,以满足特定项目的需求。 "demo"目录下则可能是一些示例代码,展示了Ztree在...
- `view`: 这个配置项主要涉及树的显示效果,比如节点的展开折叠图标、节点文字的样式等。 - `data`: 用于设置数据源的相关属性,如节点的根节点标识、是否启用异步加载等。 - `async`: 如果你需要实现动态加载...
3. **节点操作**:包括展开、折叠、选择、取消选择、编辑节点文本等操作。 4. **节点状态**:支持节点的选中、禁用、半选、异步加载状态。 5. **图标显示**:可以通过自定义图标来表示节点的不同状态或类型。 6. **...
这个函数可以检查节点的文本、属性或者其他自定义的数据字段。 3. **调用`getNodesByFilter`**:当用户输入搜索关键词后,调用ZTree的`getNodesByFilter`方法,传入之前定义的过滤函数和一个可选的执行模式。执行...
2. **准备数据**:创建JSON数据结构,包含节点ID、父节点ID、节点文本等信息。 3. **初始化配置**:设置zTree的配置项,如节点样式、事件处理函数等。 4. **绑定元素**:指定一个DOM元素作为zTree的容器。 5. **...
ZTree的数据结构通常是JSON格式,包含了节点ID、父节点ID、文本、图标等信息。通过`$.fn.zTree.init()`方法将数据和配置项传入,ZTree会自动解析并生成树形菜单。 总的来说,使用ZTree构建树形菜单需要理解其核心JS...
zTree允许自定义CSS样式,包括节点样式、选中样式、展开/折叠箭头等。同时,通过`icon`属性,可以设置自定义图标。 10. **CHM格式帮助文档** zTree的帮助文档以CHM(Compiled HTML Help)格式提供,这是一个离线...
- **数据准备**:要正确配置JSON数据,包括节点ID、父节点ID、节点文本等关键信息,确保树的正确生成。 - **CSS和JavaScript引用**:在HTML页面中引入zTree所需的CSS样式文件和JavaScript库,包括jQuery和zTree的...
// 假设node.name是节点文本 $('#txtBox').val(function(i, val) { return val + (val ? ', ' : '') + text; }); } } }; var zNodes = [ {/* 节点数据 */} ]; // 初始化ZTree的节点数据 $.fn.zTree.init($...
4. **数据格式**:zTree的数据模型是JSON格式,包括节点ID(id)、父节点ID(pId)、节点文本(name)、节点状态(open、checked等)等属性。理解数据格式对正确显示和操作树至关重要。 5. **API函数**:zTree提供...
数据中包含节点的所有属性,如id、pId(父节点id)、name(节点文本)、icon(图标)、isParent(是否为父节点)等。数据可以通过Ajax方式获取,也可以直接写入JavaScript代码。 3. **初始化设置**:通过`$.fn....
zTree的核心是通过JSON数据格式来构建树形结构,每个节点都可以包含文本、图标、URL链接、状态(如选中、禁用)等信息。它支持多种操作,如点击节点、拖拽节点、搜索节点、多选、单选、层级展开与折叠等。此外,...
1. 数据加载:zTree的数据通常以JSON格式提供,包含节点ID、父节点ID、文本、图标等信息。例如: ```javascript [ { "id":1, "pId":0, "name":"父节点1", "open":true }, { "id":2, "pId":1, "name":"子节点1" }, ...
2. JSON数据格式:zTree通过JSON数据来定义树结构,包括节点ID、父节点ID、文本、图标、是否选中等信息。 3. 样式与事件:zTree支持自定义样式,并提供了丰富的事件机制,如点击、展开、拖拽等,使得交互更加灵活。...
2. 样式定制:通过CSS样式调整节点的显示效果,如字体、颜色、图标等,以满足不同场景的需求。 3. 层级展开:通过配置参数控制节点默认的展开状态,以及用户点击时的展开与折叠行为。 4. 动态加载:对于大数据量的树...