這是我寫的第一個js的控件,修修改改快大半年了,公司的老項目里在用。
廢話不多說,直接說特點吧!
r.setNodedbc(true);根(有子節點)是否可以雙擊打開關閉。
r.setNodehref(false);根(有子節點)是否可以觸發事件。
r.setLazy(false);是否延遲生成樹。
r.canAlterbg(true);點擊節點后改變背景色。這是用jquery做得補丁式的功能。
8個參數 id,父id,顯示字符,關閉時圖片路徑,打開時圖片路徑,href的路勁/調的js方法,目標,是否關閉(lazy=true時無效)。
我覺得最大的特色就是lazy,我寫的時候發現,樹慢就慢在構造上,加載數據到不慢,所以lazy就是數據一次性加進去,但一次只生成一層。如果要打開好幾層的話,可以自己調openNode()方法。
像大家說的checkbox等功能,我做過例子,是通過jquery后期再添加進去的,覺得jquery打補丁真的不錯。
號稱的250000條數據,是在全部都是隨機節點的情況下,不死機的狀況。就是一層的節點不能過大。。不然也會死。
代碼很少200行,注釋70行,大家如果用得上的話,我就最開心不過了!!!
下面是構造的代碼,同dtree,有啥意見多提提,我好再改進,謝謝啦!!!
!!!!!!如果用js方法的話 參數要用"包起來。如 javascript:afun("xxx");!!!!!!!!!!!!
全部打開按鈕,只適用于不使用lazy的情況
- var r=new rTree("r");
- r.setNodedbc(true);
- r.setNodehref(false);
- r.setLazy(false);
- r.canAlterbg(true);
- r.add(1,0,"a哈羅",'images/folderclose.gif','images/imgfolder.gif','javascript:alert("我們都是哈羅!!!")');
- r.add(2,1,"男哈羅",'images/hello1.gif','',"./baidu.mht");
- r.add(3,1,"b哈羅",'','images/hello1.gif');
- r.add(4,1,"c哈羅");
- r.add(5,1,"d哈羅");
- r.add(6,2,"e女哈羅",'','',"images/hello1.jpg","show");
- r.add(7,2,"f哈羅");
- r.add(8,3,"g哈羅");
- r.add(9,3,"h哈羅","","","","",true);
- r.add(10,3,"i哈羅");
- for(var i=11;i<11;i++){
- r.add(i,parseInt(Math.random()*i),"測試"+i);
- }
-
- r.startTree();
posted on 2009-11-30 18:48
becket_zheng 閱讀(648)
評論(0) 編輯 收藏 所屬分類:
web前端開發