jQuery技术

jquery treetable学习笔记

字号+ 作者:H5之家 来源:H5之家 2016-12-30 14:01 我要评论( )

在软件公司做前端,其实考虑最多的问题倒不是用户交互的体验,而是信息展示能否让人一目了然。出于这样的思路,一般在设计初始就力求简单明了,于是前两天java

—— jquery treetable学习笔记

    在软件公司做前端,其实考虑最多的问题倒不是用户交互的体验,而是信息展示能否让人一目了然。出于这样的思路,一般在设计初始就力求简单明了,于是前两天java的程序猿朋友就给了我一个设计图让我参考jquery treetable插件实现一个数据树的展示。

    在完全没接触过这个插件的情况下,通过谷歌翻译勉强给我倒腾了出来,最终效果就像这个样子


当然学习过程比较艰辛,插件本身不困难,至于这虐心的过程我就不费话了,直接总结使用方法。

  1.上官网下载,treetable插件提供了历史版本,我这里使用的是最新的3.1.0的版本。

  2.插件引用,当你下载的时候,会有很多个文件,但是根据他们的api来看,如果你只想做简单的效果,js除了引用juquery外,只需要引用jquery.treetable.js插件。后面如果有更复杂的效果,到时候再说。同样,如果你想让它有默认的外观样式还需要引入它们的jquery.treetable.css和jquery.treetable.theme.default.css,这两个文件的作用我后面会说明。

   3.简单的demo。

    首先,新建一个网页,引入上述文件,简单的搭建一个表格    

<table id="example-advanced">

  <tr>

    <td>app</td>

  </tr>

  <tr>

    <td>controllers</td>

  </tr>

  <tr>

    <td>application_controller.rb</td>

  </tr>

  <tr>

    <td>helpers</td>

  </tr>

  <tr>

    <td>models</td>

  </tr>

  <tr>

    <td>views</td>

  </tr>

</table>

为说明样式问题,我这里暂时不引入css样式。那么正常情况下,就是一行行的文字。


现在,引入treeable.js。当然单纯的引入是不会出任何效果的,这里要对具体的表格进行修改,没有定义逻辑时,这些tr是一行行显示,但是一旦运用了插件自定义的data属性后,就会出现不一样的世界……。

    4.写具体的js:只需要一句话

      $("#example-advanced").treetable({ expandable: true });

然后,修改给table添加自定义属性


相信看名字大家就能大概猜出来这个属性的意思了,没错,我们给每个元素行添加data-tt-id,并自定义命名就可以了,这里为了逻辑清楚我用的是数字,如果想让某一行扮演“父亲”的角色,只要给它的“儿子”贴上属于哪一个爹的标签id就行了,就像上面data-tt-parent-id="2",就像这样,那么原本属于同一行级别的元素就会有变化,如下:

看出来了吗?原本属于同一层的元素在应用插件后就属于不同层级了。

    5.接下来说一下样式的问题,在我所展示的最终效果图,会有一个默认的背景,这里是因为应用了jquery.treetable.theme.default.css这个样式,引入该样式后,效果如下:

你可能还注意到,最终效果左侧父级会有一个箭头,这是因为要将jquery.treetable.css样式引入,引入后表现如下:


    6.之后就是一些优化的问题,比如通过js让选中的父级高亮等,官方文档有说明,不在赘述,代码类似如下:

// Highlight selected row

$("#example-advanced tbody").on("mousedown", "tr", function() {

    $(".selected").not(this).removeClass("selected");

    $(this).toggleClass("selected");

});

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • jquery学习笔记---jquery插件开发

    jquery学习笔记---jquery插件开发

    2016-12-27 14:01

  • javascript技巧:jQuery插件slider实现拖动滑块选取价格范围_第3页

    javascript技巧:jQuery插件slider实现拖动滑块选取价格范围_第3页

    2016-12-18 13:03

  • jQuery插件技术研究.pdf

    jQuery插件技术研究.pdf

    2016-12-16 15:06

  • 详解jQuery插件开发方式

    详解jQuery插件开发方式

    2016-11-26 18:00

网友点评
p