博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery tree的使用
阅读量:4311 次
发布时间:2019-06-06

本文共 1051 字,大约阅读时间需要 3 分钟。

项目中经常会遇到树形数据的展现,包括导航,选择等功能,所以树控件在大多项目中都是必须的。那一个实用的树应该具备什么功能呢?

根据我的项目实践情况,主要是几个关键点:

1:支持静态的树,即一次性将全部数据加载到客户端。

2:异步树,即一次只加载一级或若干级节点,子节点可以异步加载数据。

3:Checkbox树(可能是静态树也可能是异步树),用于选择(如选择组织机构,选择数据字典项)等,最好是能够支持节点级联(这个是难点)

4:能够承载大数据量,并性能表现优异

5:能够在主流浏览器中运行良好

那我要打造的TreeView就是为了实现这个5个主要指标的。

先来看下效果图

上图是中国行政区域的数据树,总共得节点是3500+。

那么我们要开工了;

1:第一个确定的节点Dom结构(即用什么样的HTML来构建节点)

  • 比较土的是table套table的(样式上好控制,但是大数据量,和层次较深的树,这种结构肯定顶不住的)
  • 还有一种是比较新鲜的UL套LI的方式,这是现下很多书采取的方式如就是采用的这种格式,好处比较明显就是结构简洁明了, 
    而且在不支持Js的浏览器上,同样也能呈现出树的形状(这种情况其实咱可以忽略),但是Jquery.treeview的节点在IE下,特别是IE6下无法被内部元素撑开,(IE7,8当达到一定深度时无法撑开),请奇怪的现象(我猜测是因为使用padding来做缩进,margin-left:负值来控制图标位置有关,但是修改起来难度也较大),在这种情况下书会变形(Jquery.treeview)就有这种问题,只能通过设置节点的width来解决。

JQuery.treeview的节点结构

Jquery.TreeView  IE6 下 展开第三级即出现错位

 IE8下展开到第5级

  • 还有一些是div套table的方式,CSDN的导航树就是这种,是种折中的方法(节点也不算太复杂,而且CSS也比较好写),如下图所示 

 

 

 

而我采用的也是第二种方式,但是缩进采用了填空的方式,即缩进的位置用空白的图片填充来避免Jquery.treeview的问题

我的树节点结构

确定了节点的HTML我们就可以来写CSS了。有了效果图,有个节点结构接着就编写CSS了

下面是CSS的完整代码

上面了树的基本样式外,定义了一个有+号带line的样式和+号不带line的样式

 这就是那个+号带line的样式

转载于:https://www.cnblogs.com/hongwei8455/p/3755520.html

你可能感兴趣的文章
Controller中使用过滤器
查看>>
Anaconda+django写出第一个web app(八)
查看>>
模拟 HDOJ 5099 Comparison of Android versions
查看>>
关于http的post传送文件
查看>>
eclipse 快速导入所有需要的包
查看>>
枚举类
查看>>
关于ES6新特性
查看>>
Linux——变色的文件文件夹含义
查看>>
Android异常分析(转)
查看>>
php常用正则表达式
查看>>
ie7浏览器兼容问题
查看>>
matplotlib动态图subplots()和subplot()不同及参数
查看>>
python,shell,locale,charset
查看>>
CSS基础知识点笔记
查看>>
2016中国大学生程序设计竞赛(长春)-重现赛 1010Ugly Problem 回文数 模拟
查看>>
冒泡、选择、插入排序
查看>>
从小白到区块链工程师:第一阶段:Go语言的控制台输入和输出(3)
查看>>
iOS开发系列--通知与消息机制
查看>>
16.jQuery属性操作
查看>>
sonar安装
查看>>