gpt4 book ai didi

javascript - jQuery JSTree "uncheck node"性能问题

转载 作者:行者123 更新时间:2023-11-29 22:10:11 25 4
gpt4 key购买 nike

当我取消选中 jstree 中的大量节点时,我收到运行缓慢的脚本警告。

我正在使用循环遍历数组以获取 ID,然后取消选中节点。有没有其他方法可以做到这一点或使其更快?在我的特殊情况下,我的数组长度是 1600。

$.each(myArray, function(key, item){
$("#myTree").jstree("uncheck_node", "!#"+item);
});

最佳答案

当您需要进行大量 DOM 操作时,一般建议是使用 setInterval/setTimeout 将其分成几个 block ,以便浏览器能够处理用户输入和您之间的其他事件脚本执行。

例如(粗略的例子):

var done = 0;
var chunks = 4;
var myInterval = setInterval(process_chunk, 1000);
var $myTree = $("#myTree");
var chunkLength = myArray.length / chunks;

process_chunk = function() {
var arrayChunk = myArray.slice(done*chunkLength, (done + 1)*chunkLength)
$.each(arrayChunk, function(key, item){
$myTree.jstree("uncheck_node", "!#"+item);
});
done += 1;
if (done === chunks) {
myInterval.clearInterval();
}
}

关于javascript - jQuery JSTree "uncheck node"性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18511613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com