`
Relucent
  • 浏览: 208654 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

带选择框的JS树控件

    博客分类:
  • JS
阅读更多
前阵子自己写了个带选择框的tree控件,虽然还有一些bug没有修改(动态添加节点),但是感觉加载速度还可以。

子节点检索的方法参考了MzTree,测试了一下发现用正则去查找子节点的确比循环快了不少。

节点有三种状态,选中,未选中,未完全选中。


虽然引了一个jquery.js 但其实jquery只是用来在离开页面的时候把tree的变量delete一下(如果不delete一下 IE内存可能会越用越大)


使用方法:
  var otree = new OTree({
   panel  : document.body,   //Tree所在容器
   data  : chinaAreas         //tree所需数据 JSON格式 数据见china.js
  });
  otree.paint();  //绘制树



节点数大于1000的情况,如果开始就直接选中根节点,会卡大概5-10秒,因为节点太多了,全部选中需要初始化一次( 这个Tree有3000多个节点 ) 目前没想到好的解决方法。(全选的话无论如何也需要初始化一次吧)









PS:那个第一次checked全选的时候会有延迟的问题想到解决方法了。
http://www.iteye.com/topic/487771
  • 大小: 22.1 KB
分享到:
评论
9 楼 Relucent 2009-10-15  
ydsakyclguozi 写道
全部加载的方式不好,耗资源啊,还是分级展开的好


其实是因为使用分级展开的方式,不知道Checkbox怎么处理。


另外,那个第一次checked全选的时候会有延迟的问题想到解决方法了。

http://www.iteye.com/topic/487771
8 楼 ydsakyclguozi 2009-10-14  
全部加载的方式不好,耗资源啊,还是分级展开的好
7 楼 Relucent 2009-10-14  
asialee 写道
能支持子节点动态加载吗,就是初始化的时候子节点都没有,当点击的时候会加载。


子节点动态加载目前没实现,但是有个appendNode方法可以自己加节点。




其实我现在研究怎么做才能让第一次checked全选的时候不卡。
(根节点checked打对勾)

目前想到的方法是不传递数组 直接传递一个树结构json,那么就不用解析了。而且以后动态加载也方便。
6 楼 asialee 2009-10-14  
我前一阵子写了一个,也有点bug
5 楼 asialee 2009-10-14  
能支持子节点动态加载吗,就是初始化的时候子节点都没有,当点击的时候会加载。
4 楼 whaosoft 2009-10-14  
不过 是不是所有浏览器都能用呢 不过貌似不错
3 楼 cwx714 2009-10-12  
不错!可以改写成一个jQuery插件啊!
2 楼 llfzy 2009-10-12  
<p>不错,收藏了!以前我还一直在找这方面的控件也!</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p><a href="http://s.click.taobao.com/t_1?i=qz78fN%2Bpk8BTuQ%3D%3D&amp;p=mm_14292671_0_0&amp;n=11"><br>入门单反新王者 佳能高清500D套机(含18-55IS镜头)</a><br><a href="http://s.click.taobao.com/t_1?i=qX1fEUekOgm0qg%3D%3D&amp;p=mm_14292671_0_0&amp;n=11">【国庆特价】台湾微米1200万高清摄像机HDVH20 D80 HD-D10升级版</a><br><a href="http://s.click.taobao.com/t_1?i=qvYi2aN5Z3nzeA%3D%3D&amp;p=mm_14292671_0_0&amp;n=11">◥◣全国联保 大陆行货◢◤索尼T900 &lt;高清视频&gt; 国庆促销300台</a><br><a href="http://s.click.taobao.com/t_1?i=qvezK1P3Kbqvog%3D%3D&amp;p=mm_14292671_0_0&amp;n=11">09年新款DDV-6800HD数码相机摄像带遥控MP3/MP4 升级1600万像素</a><br><a href="http://s.click.taobao.com/t_1?i=qvQus%2F2p41Lujg%3D%3D&amp;p=mm_14292671_0_0&amp;n=11">国庆促销 [酷拍] 高清防抖数码摄像机,1200万像素</a><br><a href="http://s.click.taobao.com/t_1?i=qXn%2BA9WaqYRvCg%3D%3D&amp;p=mm_14292671_0_0&amp;n=11">K800/K600姊妹机■特价!尼柯K99■500万像素 4倍变焦 摄像 扩展</a><br><a href="http://s.click.taobao.com/t_1?i=qXssJ92egGbuAg%3D%3D&amp;p=mm_14292671_0_0&amp;n=11">松下LX3GK 正品大陆行货★ 千万像素+24mm超广角 ★钻石信誉</a><br><a href="http://s.click.taobao.com/t_1?i=qXMWriRrolnhAw%3D%3D&amp;p=mm_14292671_0_0&amp;n=11">五一特价 DV-592(DV592)升级版1600万像素超大3.0屏数码摄像机</a><br><a href="http://s.click.taobao.com/t_1?i=of9UcXaRZj6i&amp;p=mm_14292671_0_0&amp;n=11">1200万像素3.0屏带MP3/4多功能数码摄象机 DV-568(DDV-V8)<br></a><a href="http://s.click.taobao.com/t_1?i=qXpboEyxxOA%2BPQ%3D%3D&amp;p=mm_14292671_0_0&amp;n=11">1200万数码相机/摄像 美柯隆数码相机 536/1288 支持4G</a><br><a href="http://s.click.taobao.com/t_1?i=qveyF7B3BMxljg%3D%3D&amp;p=mm_14292671_0_0&amp;n=11">微米HDV-H20高清数码摄像机 5倍光变 1200万相素 防抖功能+套餐</a></p>
1 楼 xiaoleizi 2009-10-12  
很不错的控件,谢谢分享

相关推荐

    带选择的树型js控件

    带选择框的JS树控件 页面创建一个HTMLElement是很耗时的,无论使用createElement或者是是innerHTML都一样。 而且这一步只能一个节点一个节点慢慢地生成,虽然可以通过减小单个节点的HTML元素量的方法提高一些速度,...

    js树控件,大家分享

    "js树控件"是利用JavaScript实现的一种数据可视化组件,它能够将层次结构的数据展示为树状结构,便于用户进行交互操作。在网页设计中,树控件常用于目录导航、组织结构展示、文件系统浏览等场景。 树控件的核心功能...

    js树控件们截图.rar

    在这个"js树控件们截图.rar"压缩包中,包含了多种使用JavaScript实现的树控件的截图效果。这些截图可以帮助我们直观地了解各种树控件的设计风格、功能特性和使用场景。 1. **基础概念**:树控件(Tree View)是一种...

    js树形控件js树形控件

    JavaScript(简称JS)树形控件是一种在网页中展示层级数据结构的交互式元素,它通常用于展现目录结构、组织架构、文件系统等。在网页设计中,这种控件能够帮助用户以图形化的方式理解复杂的数据关系,通过展开、折叠...

    IE树控件IE树控件IE树控件

    3. **JavaScript库和框架**:许多JavaScript库,如jQuery、Dojo、AngularJS,提供了现成的树控件插件,简化了开发过程。例如,jQuery UI的Treeview模块,通过简单的API就能实现复杂的树形结构。 4. **AJAX技术**:...

    angularjs下拉树控件

    在本文中,我们将深入探讨如何在AngularJS框架中实现下拉树控件,这是一种结合了树形结构和下拉选择功能的用户界面组件。AngularJS是Google开发的一个强大的前端JavaScript框架,它允许开发者构建可维护、可扩展的...

    javascript树形控件

    JavaScript树形控件是一种在网页上实现层次结构展示的用户界面元素,通常用于展示目录结构、组织架构或者数据分类等。由于HTML标准中并未内置这样的组件,开发者需要借助JavaScript库或者自定义代码来创建这样的功能...

    js职业选择控件

    "js职业选择控件"通常指的是利用JavaScript技术开发的用于用户在网页上进行职业选择的交互式组件。这类控件在招聘网站、在线教育平台或职业规划工具中非常常见,它们能帮助用户方便地浏览、筛选和选择不同的职业路径...

    很好用也很简单的树控件

    描述中提到的“css”和“js”,指的是该树控件的样式表和脚本文件。CSS文件用于定义节点的样式,如颜色、字体、边框、间距等,以使控件视觉上更加吸引人。JavaScript文件则包含实现树状结构的逻辑,如展开/折叠节点...

    javascript-tree控件集合 大部分JS树形菜单控件 精心收集

    这些JavaScript树形菜单控件各有特点,可以根据项目需求和性能考虑选择合适的一种或多种组合使用。在实际开发中,它们可以帮助我们构建出更直观、易用的用户界面,提升用户在网站或应用中的导航体验。同时,开发者还...

    jquery超漂亮树形控件

    4. `widgetTreeList.js`:这是树形控件的主要JavaScript实现,包含了所有必要的逻辑和功能,如展开/折叠节点、添加/删除节点、选择节点等。 5. `jQuery Treelist widget_files`:这个文件夹很可能包含了其他支持...

    树形控件js

    "树形控件js"指的是使用JavaScript实现的这种控件,通过HTML文档来展示和交互。在本篇文章中,我们将深入探讨树形控件的概念、实现方式以及JavaScript在其中扮演的角色。 1. **树形控件的基本概念** 树形控件是一...

    mtree1.0-checkbox-tableTree-带复选框树形控件

    总的来说,"mtree1.0-checkbox-tableTree-带复选框树形控件"是一个方便开发者快速构建具有复选框功能的树形表格的JavaScript库。它简化了复杂数据展示和多选操作的实现,提升了用户体验,是Web应用中一个实用的工具...

    日期选择框控件

    在IT行业中,日期选择框控件是网页设计和开发中常用的一种交互元素,它允许用户方便地选取日期、时间或日期时间。在这个场景下,我们关注的是一个自定义的日期控件,它不仅支持日期的选择,还支持时、分、秒的精确...

    选择日期控件(js封装类,javascript,选择日期,文本框选择日期,控件)

    选择日期控件(js封装类,javascript,选择日期,文本框选择日期,控件)

    jstree目录树控件

    3. **初始化jsTree**:使用`$(selector).jstree(options)`方法初始化树控件,`selector`是树容器的选择器,`options`是一个包含配置项的对象,用于设置初始状态、加载数据的方式、使用的插件等。 4. **处理事件**:...

    js很好用的常用树形控件

    本资料包集合了几个常用的JavaScript树形控件,有助于提升网页的用户体验。 1. **jQuery Treeview** jQuery Treeview 是一个基于 jQuery 库的插件,它可以将普通的HTML列表转换为可交互的树形结构。通过简单的配置...

    Jsp实现日历选择框

    在本文中,我们将深入探讨如何使用JSP技术来实现一个日历选择框,重点是集成My97日历控件。My97日历控件是一款功能强大的JavaScript日期选择插件,广泛应用于网页中,提供了丰富的自定义选项和良好的用户体验。 ...

    js日期控件js日期控件js日期控件

    JavaScript(简称JS)是一种轻量级的脚本语言,广泛应用于网页和网络应用开发,包括处理用户交互、操作DOM(文档对象模型)、以及处理时间与日期等任务。在Web开发中,日期控件是常见的需求,它允许用户方便地选择...

    JS 地区、职业、行业选择控件

    "JS 地区、职业、行业选择控件" 是一个专为用户提供方便选择地区、职业和行业的组件,它结合了样式设计,使得用户体验更加友好。这个组件通常用于表单填写或者用户信息收集的场景,比如在线注册、求职网站等。 1. *...

Global site tag (gtag.js) - Google Analytics