純javascript響應(yīng)式樹(shù)形菜單效果
簡(jiǎn)要教程
aimaraJS是一款非常實(shí)用的純javascript響應(yīng)式多級(jí)目錄樹(shù)結(jié)構(gòu)插件。該目錄樹(shù)可以動(dòng)態(tài)添加和刪除樹(shù)節(jié)點(diǎn),可以制作多級(jí)樹(shù)結(jié)構(gòu),每個(gè)節(jié)點(diǎn)上可以都帶有右鍵上下文菜單,并且每個(gè)節(jié)點(diǎn)上都可以配置不同的圖標(biāo)。它的特點(diǎn)有:
- 可以創(chuàng)建一個(gè)基本的樹(shù)結(jié)構(gòu)并渲染它。
- 可以實(shí)時(shí)添加和刪除樹(shù)節(jié)點(diǎn)。
- 可以顯示不同的樹(shù)節(jié)點(diǎn)圖標(biāo)。
- 在樹(shù)節(jié)點(diǎn)打開(kāi)和關(guān)閉的時(shí)候可以自定義事件。
- 每個(gè)樹(shù)節(jié)點(diǎn)上都可以制作右鍵上下文菜單。
使用方法
使用該幻燈片插件需要在頁(yè)面中引入Aimara.css和Aimara.js文件。
<link rel="stylesheet" href="css/Aimara.css" /> <script src="js/Aimara.js"></script>
HTML結(jié)構(gòu)
可以使用一個(gè)空的<div>來(lái)作為這個(gè)目錄樹(shù)的容器。
<div id="div_tree"></div>
JAVASCRIPT
然后你可以通過(guò)下面的方法來(lái)初始化該目錄樹(shù)插件。你可以創(chuàng)建一些樹(shù)節(jié)點(diǎn)和子節(jié)點(diǎn),然后渲染它們。節(jié)點(diǎn)可以在樹(shù)被渲染之前或之后添加到樹(shù)結(jié)構(gòu)中。
<script type="text/javascript"> window.onload = function() { //創(chuàng)建樹(shù)結(jié)構(gòu) var tree = createTree('div_tree','white'); //創(chuàng)建樹(shù)節(jié)點(diǎn)node1 var node1 = tree.createNode('First node',false,'images/star.png',null,null,null); //node1添加到樹(shù)結(jié)構(gòu)中 node1.createChildNode('First child node', false, 'images/blue_key.png',null,null); //渲染樹(shù)結(jié)構(gòu) tree.drawTree(); //創(chuàng)建第二個(gè)樹(shù)節(jié)點(diǎn) node1 = tree.createNode('Second node',false,'images/star.png',null,null,null); node1.createChildNode('Second child node', false, 'images/blue_key.png',null,null); }; </script>
為樹(shù)節(jié)點(diǎn)創(chuàng)建上下文菜單
可以通過(guò)下面的方法來(lái)創(chuàng)建一個(gè)右鍵上下文菜單。
var contex_menu = { 'context1' : { elements : [ { text : 'Node Actions', icon: 'images/blue_key.png', action : function(node) { }, submenu: { elements : [ { text : 'Toggle Node', icon: 'images/leaf.png', action : function(node) { node.toggleNode(); } }, { text : 'Expand Node', icon: 'images/leaf.png', action : function(node) { node.expandNode(); } }, { text : 'Collapse Node', icon: 'images/leaf.png', action : function(node) { node.collapseNode(); } }, { text : 'Expand Subtree', icon: 'images/tree.png', action : function(node) { node.expandSubtree(); } }, { text : 'Collapse Subtree', icon: 'images/tree.png', action : function(node) { node.collapseSubtree(); } }, { text : 'Delete Node', icon: 'images/delete.png', action : function(node) { node.removeNode(); } }, ] } }, { text : 'Child Actions', icon: 'images/blue_key.png', action : function(node) { }, submenu: { elements : [ { text : 'Create Child Node', icon: 'images/add1.png', action : function(node) { node.createChildNode('Created',false,'images/folder.png',null,'context1'); } }, { text : 'Create 1000 Child Nodes', icon: 'images/add1.png', action : function(node) { for (var i=0; i<1000; i++) node.createChildNode('Created -' + i,false,'images/folder.png',null,'context1'); } }, { text : 'Delete Child Nodes', icon: 'images/delete.png', action : function(node) { node.removeChildNodes(); } } ] } } ] } };
然后通過(guò)下面的方法來(lái)初始化樹(shù)結(jié)構(gòu):
tree = createTree('div_tree','white',contex_menu); tree.drawTree();
在樹(shù)結(jié)構(gòu)渲染之后實(shí)時(shí)添加一個(gè)樹(shù)節(jié)點(diǎn):
tree.createNode('Real Time',false,'images/leaf.png',null,null,'context1');
以上就是本文的全部?jī)?nèi)容,為大家介紹了一款純js響應(yīng)式實(shí)現(xiàn)樹(shù)結(jié)構(gòu)菜單欄的特效,希望大家喜歡。
相關(guān)文章
詳解JavaScript中js對(duì)象與JSON格式字符串的相互轉(zhuǎn)換
本篇文章主要介紹了JavaScript中js對(duì)象與JSON格式字符串的相互轉(zhuǎn)換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-02-02fckeditor部署到weblogic出現(xiàn)xml無(wú)法讀取及樣式不能顯示問(wèn)題的解決方法
這篇文章主要介紹了fckeditor部署到weblogic出現(xiàn)xml無(wú)法讀取及樣式不能顯示問(wèn)題的解決方法,分析了問(wèn)題出現(xiàn)的原因及相關(guān)配置文件設(shè)置技巧,需要的朋友可以參考下2017-03-03JS數(shù)組搜索之折半搜索實(shí)現(xiàn)方法分析
這篇文章主要介紹了JS數(shù)組搜索之折半搜索實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式分析了javascript數(shù)組折半搜索算法的原理、實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-03-03關(guān)于取不到由location.href提交而來(lái)的上級(jí)頁(yè)面地址的解決辦法
驗(yàn)證上級(jí)頁(yè)面來(lái)源取不到由location.href提交而來(lái)的頁(yè)面地址,搜索了一大堆沒(méi)有合適的解決辦法,突然想到通過(guò)模擬JS點(diǎn)擊鏈接的方法2009-07-07TypeScript中定義變量方式以及數(shù)據(jù)類(lèi)型詳解
TypeScript支持 JavaScript的所有語(yǔ)法和語(yǔ)義,同時(shí)通過(guò)作為ECMAScript的超集來(lái)提供一些額外的功能,如類(lèi)型檢測(cè)和更豐富的語(yǔ)法,這篇文章主要給大家介紹了關(guān)于TypeScript中定義變量方式以及數(shù)據(jù)類(lèi)型詳解的相關(guān)資料,需要的朋友可以參考下2022-08-08js單獨(dú)獲取一個(gè)checkbox看其是否被選中
這篇文章主要與大家分享js獲取一個(gè)checkbox看其是否被選中的具體實(shí)現(xiàn),很簡(jiǎn)單,但很實(shí)用,需要的朋友可以參考下2014-09-09uniapp實(shí)現(xiàn)全局設(shè)置字體大小(小中大的字體切換)
隨著UniApp的流行,越來(lái)越多的開(kāi)發(fā)者選擇使用它來(lái)構(gòu)建跨平臺(tái)應(yīng)用程序,下面這篇文章主要給大家介紹了關(guān)于uniapp實(shí)現(xiàn)全局設(shè)置字體大小(小中大的字體切換)的相關(guān)資料,需要的朋友可以參考下2023-06-06