自定义dtree.js加载数据的方式

本文介绍了在使用dtree.js加载大数据时遇到的问题及解决方案。通过修改dtree.js插件,实现分批或动态加载数据,仅处理新节点并显示,避免刷新全部数据导致的卡顿。新增了`addAndShow`方法,用于添加节点并直接显示在指定div中,提高浏览器操作效率。
摘要由CSDN通过智能技术生成

1.问题:在使用dtree.js的过程中,经常遇到需要加载大数据的情况,可是一次性加载数据太多的情况下会导致网页卡死。

2.处理逻辑:所有就需要分批加载或者动态加载,先加载一部分数据,通过拖动条拖动或者点击子节点按钮,继续加载下一个节点的数据。

3.难处:dtree.js就算动态加载数据,也只是把新数据动态加到他的缓存数组了,如果把新数据显示到网页上的话,dtree.js会刷新所有数据,也就是会把旧的数据重新在网页上再刷一次出来。这样的话,加载数据多了还是会卡。

4.解决方法:修改dtree.js插件,让他添加新节点的时候,只处理新节点的数据,并且显示出来。旧显示数据不动。

5.在dtree.js添加了一个方法,黑色部分代码是dtree.js原生代码,绿色部分代码是自定义代码

// Adds a new node to the node array

dTree.prototype.add = function(id, pid, name, url, title, target, icon,
        iconOpen, open) {
    for(var i in this.aNodes){//自定义处理不能添加名称相同的节点
        var obj = this.aNodes[i];
        
        if(obj.id == id){
            return;
        }
    }

    this.aNodes[this.aNodes.length] = new Node(id, pid, na

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值