位置: 编程技术 - 正文

ztree获取选中节点时不能进入可视区域出现BUG如何解决(ztree getnodebytid)

编辑:rootadmin

推荐整理分享ztree获取选中节点时不能进入可视区域出现BUG如何解决(ztree getnodebytid),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:ztree获取所有选中节点,ztree获取选中节点的id,ztree单选,ztree获取选中节点,ztree单选,ztree点击文字选中,ztree点击文字选中,ztree获取选中节点的id,内容如对您有帮助,希望把文章链接给更多的朋友!

zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。

zTree 的特点编辑

● zTree v3.0 将核心代码按照功能进行了分割,不需要的代码可以不用加载● 采用了延迟加载技术,上万节点轻松加载,即使在 IE6 下也能基本做到秒杀● 兼容 IE、FireFox、Chrome、Opera、Safari 等浏览器● 支持 JSON 数据● 支持静态和 Ajax 异步加载节点数据● 支持任意更换皮肤 / 自定义图标(依靠css)● 支持极其灵活的 checkbox 或 radio 选择功能● 提供多种事件响应回调● 灵活的编辑(增/删/改/查)功能,可随意拖拽节点,还可以多节点拖拽哟● 在一个页面内可同时生成多个 Tree 实例● 简单的参数配置实现 灵活多变的功能

zTree 的优势编辑

zTree 的作者利用业余时间不断改进 zTree 功能,并且还能及时与用户沟通,及时回复各种疑问,便于新用户快速掌握。目前越来越多的用户都使用 zTree 替换了系统中原有的 树插件,这其中包括最近刚发布最新版本的QUI框架。

相关插件版本:

jquery.ztree.exedit-3.4.js

jquery.ztree.all-3.4.js

jquery-1.8.0.js

定位思路:

1、假设要定位节点A,该节点A的唯一标识是objid

2、根据objid从db中获取所有上级的objid,拼接并保存在ids变量。

ztree获取选中节点时不能进入可视区域出现BUG如何解决(ztree getnodebytid)

3、在onAsyncSuccess方法中调用expandNodes,该方法中通过[if (nodes[i].isParent&&(ids.substring(0,ids.indexOf(","))!=nodes[i].id))]过滤,展开id在ids里的节点。

4、通常情况看下,在展开最后,依据objid通过【var node = zTree.getNodeByParam("id",id_);】获取节点A对象,然后通过【zTree.selectNode(node);】选择节点。

这种情况下,能够定位并选择目标节点,但是,当与该节点有同一父节点的数据较多时,节点A可能不会出现在可视区域内。查找源码,发现Ztree用的是【$("#" + node.tId).focus().blur();】方法实现定位。但很遗憾,有BUG。

于是,使用控制滚动条的方式自己控制定位。实现方式如下:

1、删除【zTree.selectNode(node);】,防止定位冲突

2、在onAsyncSuccess方法中,判定当节点展开完毕后,获取节点A的偏移量,并将值赋给树所在DIV的scrollTop属性。

$("#treeDiv1").animate({scrollTop:$("#"+devicesSelect.selectNodeId).offset().top-},);//是ms,也可以用slow代替

注:devicesSelect.selectNodeId为节点A的节点tid,通过【me.selectNodeId = node.tId】获取;treeDiv1树所在div的id属性

3、取消之前选中节点:zTree.cancelSelectedNode();

4、为节点A增加被选中状态class:$("#" + devicesSelect.selectNodeId + "_a").addClass("curSelectedNode");

笔者淡淡的说:第2点我本来想用【$("#treeDiv1").scrollTop($("#"+devicesSelect.selectNodeId).offset().top-);】这种方式的,虽然有效,但是同层节点过多时候,还是不能进入可视区域,我深深的怀疑是因为这个时候树还没展开,所以我就用了动画,无赖之举。

笔者最后的话:如果本文有任何错误,敬请看官火辣指出,不胜感激涕零。。。。

以上内容是本文给大家介绍ztree获取选中节点时不能进入可视区域出现BUG如何解决的全部叙述,希望大家喜欢。

jQuery 1.9.1源码分析系列(十五)之动画处理 首先需要有队列(queue)的基本知识。见上一章。相关教程:jQuery下的动画处理总结:

详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题 最近做了个项目,其中有一目录功能,发现一个在现代浏览器间的一个bug,或是称之为差异,即页面滚动值(scrollTop)的获取与设定。在此之前先说一下关

jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介 触摸事件(touch)在jQueryMobile中有一些触摸事件是可定制的。然而,这些事件仅当与支持触摸功能的设备进行交互的用户访问您的jQueryMobile网站时才可用。

标签: ztree getnodebytid

本文链接地址:https://www.jiuchutong.com/biancheng/376193.html 转载请保留说明!

上一篇:jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween(jquery源码下载)

下一篇:jQuery 1.9.1源码分析系列(十五)之动画处理(jquery源码分析)

  • 增值税建筑服务税率变化时间
  • 个人所得税个体户减半
  • 往年有亏损本年没有亏损
  • 资产总额增长幅度怎么算
  • 可供出售金融资产和交易性金融资产
  • 打包材料的费用会计分录
  • 成本和费用的区别在于()
  • 雇佣退休人员工伤赔偿标准
  • 房产评估费会计分录
  • 受托加工怎么做账
  • 固定资产超过注册资金怎么处理
  • 清算多交的增值税如何结转做分录?
  • 房地产公司房屋质量排名
  • 待处理产品损益账户的核算内容不包括
  • 政府项目的代建方案
  • 简要回答建筑企业如何实现利润最大化
  • 营改增后,企业购进自用小轿车增值税
  • 高新技术企业优惠政策叠加
  • 获赠或继承来的房屋以后再转让
  • 城市维护建设税属于什么税种
  • 个人收到支票如何做账
  • 辞退福利怎么交税
  • 以前年度资产损失,汇算清缴怎么填表
  • 负债转为投资 资本增加吗
  • 文件类型错误请重新选择
  • 接受捐赠收入要计入销售收入吗
  • ubuntu22.04更换RTX 4090显卡后,安装驱动和pytorch记录
  • php数组函数大全
  • 增值税发票半年后能冲红
  • 处置子公司的收益
  • framework core
  • 相思树学名叫什么
  • 固定资产折旧计算方法公式大全
  • 运输费属于燃料费用吗
  • 微信支付高速通行费怎么开电子发票
  • linuxulator
  • Win11 Build 25336 预览版发布:Snap 窗口新增最近 20 个标签选项
  • 建筑业的印花税是按含税还是不含税?
  • 长投转可供
  • 事业单位用其他资金用于还单位贷款违法吗
  • 摄影属于哪种服务业
  • 工会经费税务代收是什么意思
  • 企业计提五险一金会计分录怎么写
  • 研发支出资本化计入什么科目
  • 什么叫同级财政收支
  • 现金收入支出表怎么填
  • 收到货款比开票少怎么办
  • 收到公众号消息提醒
  • 建筑施工企业如何预缴增值税税款
  • 企业不如实申报个税的风险
  • 应收账款管理应该收集哪些信息
  • 在外地设办事处需要办什么手续
  • 在分公司签的合同能转到总公司吗?
  • 贴现汇票到期收回时
  • 期末未缴税额为正是什么意思
  • 什么企业可以开培训费发票
  • 企业对外购和自己的区别
  • 个体工商户的公章丢了怎么办
  • 商业企业购入商品
  • Linux Kernel 4.2下载 更新内容一览
  • windows vista
  • ubuntu21 安装
  • 班班通一直正在启动什么原因
  • splash.exe - splash是什么进程 有什么作用
  • 虚拟机安装win7一直卡在完成安装
  • linux的trace
  • 笔记本拔掉硬盘开机没反应
  • 获取shell脚本执行结果
  • npscheck.exe - npscheck是什么进程 有什么用
  • linux系统稳定
  • jquery日期控件onchange事件
  • android属性动画
  • javascript高级程序设计电子书
  • jquery mobile实例
  • JavaScript onkeydown事件入门实例(键盘某个按键被按下)
  • jquery设置隐藏属性
  • 山西社保查询网址
  • 公允价值变动损益属于什么科目
  • 电子发票提取网站
  • 预缴增值税申报表申报期限
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设