菜單樹是常見的前端特效, 一般長下面這樣

電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),平面設(shè)計(jì)培訓(xùn),網(wǎng)頁設(shè)計(jì)培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

還有各種形態(tài)的變種, 有長這樣的

電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),平面設(shè)計(jì)培訓(xùn),網(wǎng)頁設(shè)計(jì)培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

也有長這樣的

電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),平面設(shè)計(jì)培訓(xùn),網(wǎng)頁設(shè)計(jì)培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

盡管這些菜單的相貌都不盡相同, 在功能實(shí)現(xiàn)的本質(zhì)上卻都是相同的。實(shí)現(xiàn)程序的大致流程如下

  1. 讀取服務(wù)器端的菜單數(shù)據(jù)

  2. 將數(shù)據(jù)轉(zhuǎn)換成html菜單結(jié)構(gòu)

  3. 為菜單結(jié)構(gòu)綁定各種交互事件,如展開、關(guān)閉等。

然而, 隨著需求的變化, 菜單往往會(huì)需要一些基礎(chǔ)之外的功能, 比如說添加菜單項(xiàng)、刪除菜單項(xiàng)、修改菜單名、拖拽子菜單至其它父菜單項(xiàng)之下等, 實(shí)現(xiàn)這些額外的功能將增加菜單制作的難度。就拿添加菜單項(xiàng)這個(gè)功能來講, 添加菜單項(xiàng)事件中代碼的常規(guī)實(shí)現(xiàn)流程如下

  1. 為菜單的html結(jié)構(gòu)添加一個(gè)菜單項(xiàng)元素結(jié)點(diǎn)并指定節(jié)點(diǎn)的名稱

  2. 將菜單新節(jié)點(diǎn)數(shù)據(jù)添加至初始化菜單html結(jié)構(gòu)的數(shù)據(jù)中

  3. 將新菜單的數(shù)據(jù)通過ajax發(fā)送至服務(wù)器端持久存儲(chǔ)

網(wǎng)友評(píng)論