一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

打造基于jQuery的高性能TreeView

  項目中經常會遇到樹形數據的展現,包括導航,選擇等功能,所以樹控件在大多項目中都是必須的。那一個實用的樹應該具備什么功能呢?

  根據我的項目實踐情況,主要是幾個關鍵點:

  1:支持靜態的樹,即一次性將全部數據加載到客戶端。

  2:異步樹,即一次只加載一級或若干級節點,子節點可以異步加載數據。

  3:Checkbox樹(可能是靜態樹也可能是異步樹),用于選擇(如選擇組織機構,選擇數據字典項)等,最好是能夠支持節點級聯(這個是難點)

  4:能夠承載大數據量,并性能表現優異

  5:能夠在主流瀏覽器中運行良好

  那我要打造的TreeView就是為了實現這個5個主要指標的。

  先來看下效果圖

image

  上圖是中國行政區域的數據樹,總共得節點是3500+。

  那么我們要開工了;

  1:第一個確定的節點Dom結構(即用什么樣的HTML來構建節點)  

  • 比較土的是table套table的(樣式上好控制,但是大數據量,和層次較深的樹,這種結構肯定頂不住的)
  • 還有一種是比較新鮮的UL套LI的方式,這是現下很多書采取的方式如Jquery.treeview就是采用的這種格式,好處比較明顯就是結構簡潔明了,
    而且在不支持Js的瀏覽器上,同樣也能呈現出樹的形狀(這種情況其實咱可以忽略),但是Jquery.treeview的節點在IE下,特別是IE6下無法被內部元素撐開,(IE7,8當達到一定深度時無法撐開),請奇怪的現象(我猜測是因為使用padding來做縮進,margin-left:負值來控制圖標位置有關,但是修改起來難度也較大),在這種情況下書會變形(Jquery.treeview)就有這種問題,只能通過設置節點的width來解決。

image

  JQuery.treeview的節點結構

image

  Jquery.TreeView  IE6 下 展開第三級即出現錯位

image IE8下展開到第5級

  • 還有一些是div套table的方式,CSDN的導航樹就是這種,是種折中的方法(節點也不算太復雜,而且CSS也比較好寫),如下圖所示
    image

 

  而我采用的也是第二種方式,但是縮進采用了填空的方式,即縮進的位置用空白的圖片填充來避免Jquery.treeview的問題

image

  我的樹節點結構

  確定了節點的HTML我們就可以來寫CSS了。有了效果圖,有個節點結構接著就編寫CSS了

  下面是CSS的完整代碼

Code

it知識庫打造基于jQuery的高性能TreeView,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 青春娱乐国产分类精品二 | 一区二区视频在线 | 婷婷狠狠操 | 91久久网 | 国产亚洲综合视频 | 国产亚洲精品高清在线 | 亚洲午夜18 | 精品视频999| 成人在线免费观看视频 | 极品吹潮视频大喷潮tv | 国产成人小视频在线观看 | 六月婷婷激情综合 | 亚洲国产激情在线一区 | 91网站免费观看 | 一区视频在线播放 | 亚洲五月综合 | 69国产成人精品午夜福中文 | 看全色黄大色大片 | 久久综合成人 | 国产91精品一区二区 | 乱码一区二区三区完整视频 | 久久精品国产线看观看亚洲 | 欧美大尺度无遮挡性视频 | 爽天天天天天天天 | 午夜亚洲国产成人不卡在线 | 天天舔天天色 | 精品国产一区二区二三区在线观看 | 美女网站色视频 | 49pao强力在线高清基地 | 青青国产成人久久91网站站 | 国产社区在线 | 色久激情 | 亚洲国产一区在线 | 精品久久久久久蜜臂a∨ | 美女视频免费看一区二区 | 怡红院亚洲红怡院天堂麻豆 | 丁香婷婷基地 | 91精品福利老司机在线观看 | 国产欧美亚洲三区久在线观看 | 午夜大片网 | 亚洲精品高清视频 |