我的JS树(3)

树的一个必不可少的功能就是要支持异步取数据,因为就算构造树的算法再精妙,当数据量大的时候(如人员结构),也会出现性能瓶颈。当然,这也是我这次改动的主旨。

演示
计算机
编程语言
C语言
C语言程序设计
C#语言
设计模式
数学
社会学

       

        

    前台调用代码如下:

Tree.Settings.OnNodeClick = function(node) {
            alert(node[Tree.NodeProperties.Name]);
        }
        Tree.Settings.AsyncLoadUrl 
= "GetNodes.ashx";
        Tree.Settings.Async 
= true;

        
var oDiv = document.getElementById("test");
        
var nodes = eval('<%=strNodes %>');
        Tree.BuildTree(oDiv, nodes);

   1.OnNodeClick是点击节点名称时触发的事件,参数node会包含节点的所有属性.

       2. AsyncLoadUrl和Async是成对出现的,当设置Async时必须设置AsyncLoadUrl

       3. strNodes是初始加载的节点

      

      这样, 一棵仅用来展示数据的树就算基本完成了。

      接下来继续完善:

       1.UI

       2.性能优化 

  也请大家多多指正 

   Tree.js  

      下载完整包

原文地址:https://www.cnblogs.com/jcomet/p/1693615.html