<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        JavaScript遞歸算法生成樹形菜單

        來源:懂視網 責編:小OO 時間:2020-11-27 22:32:42
        文檔

        JavaScript遞歸算法生成樹形菜單

        本文實例為大家分享了js生成樹形菜單的具體代碼,供大家參考,具體內容如下:1、最終效果圖(這里僅為實現算法,并加載至頁面,不做任何css界面優化)。注釋:本示例包含三級目錄菜單,但實際上可支持N級(可使用該代碼自行測試)。2、數據源;菜單信息一般來源于數據庫中數據表,且為自連接表,其中包含主要字段(主鍵,菜單名稱,父級id)。本示例在前端頁面中使用對象數組模擬從數據庫獲取菜單信息。
        推薦度:
        導讀本文實例為大家分享了js生成樹形菜單的具體代碼,供大家參考,具體內容如下:1、最終效果圖(這里僅為實現算法,并加載至頁面,不做任何css界面優化)。注釋:本示例包含三級目錄菜單,但實際上可支持N級(可使用該代碼自行測試)。2、數據源;菜單信息一般來源于數據庫中數據表,且為自連接表,其中包含主要字段(主鍵,菜單名稱,父級id)。本示例在前端頁面中使用對象數組模擬從數據庫獲取菜單信息。

        本文實例為大家分享了js生成樹形菜單的具體代碼,供大家參考,具體內容如下

        1、最終效果圖(這里僅為實現算法,并加載至頁面,不做任何css界面優化)

        注釋:本示例包含三級目錄菜單,但實際上可支持N級(可使用該代碼自行測試)

        2、數據源

        菜單信息一般來源于數據庫中數據表,且為自連接表,其中包含主要字段(主鍵,菜單名稱,父級id);

        本示例在前端頁面中使用對象數組模擬從數據庫獲取菜單信息;

        var menuArry = [
        { id: 1, name: "辦公管理", pid: 0 },
        { id: 2, name: "請假申請", pid: 1 },
        { id: 3, name: "出差申請", pid: 1 },
        { id: 4, name: "請假記錄", pid: 2 },
        { id: 5, name: "系統設置", pid: 0 },
        { id: 6, name: "權限管理", pid: 5 },
        { id: 7, name: "用戶角色", pid: 6 },
        { id: 8, name: "菜單設置", pid: 6 },
        ]; 

        注釋:id——菜單主鍵id;name——菜單名稱;pid——父級id

        3、程序設計

        菜單信息一般來源

        //菜單列表html
         var menus = '';
         
         //根據菜單主鍵id生成菜單列表html
         //id:菜單主鍵id
         //arry:菜單數組信息
         function GetData(id, arry) {
         var childArry = GetParentArry(id, arry);
         if (childArry.length > 0) {
         menus += '<ul>';
         for (var i in childArry) {
         menus += '<li>' + childArry[i].name;
         GetData(childArry[i].id, arry);
         menus += '</li>';
         }
         menus += '</ul>';
         }
         }
         
         //根據菜單主鍵id獲取下級菜單
         //id:菜單主鍵id
         //arry:菜單數組信息
         function GetParentArry(id, arry) {
         var newArry = new Array();
         for (var i in arry) {
         if (arry[i].pid == id)
         newArry.push(arry[i]);
         }
         return newArry;
         }
        

        注釋:本示例菜單使用ul無序列表演示,menus變量為最終生成的菜單html

        4、運行

        GetData(0, menuArry)
        $("body").append(menus);
        

        注釋:GetData(0, menuArry),0——頂級菜單主鍵

        5、完整代碼

        <!DOCTYPE html>
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
         <title></title>
         <script src="jquery-1.8.3.min.js"></script>
        </head>
        <body>
         
         <script type="text/javascript">
         $(function () {
         var menuArry = [
         { id: 1, name: "辦公管理", pid: 0 },
         { id: 2, name: "請假申請", pid: 1 },
         { id: 3, name: "出差申請", pid: 1 },
         { id: 4, name: "請假記錄", pid: 2 },
         { id: 5, name: "系統設置", pid: 0 },
         { id: 6, name: "權限管理", pid: 5 },
         { id: 7, name: "用戶角色", pid: 6 },
         { id: 8, name: "菜單設置", pid: 6 },
         ];
         
         GetData(0, menuArry)
         $("body").append(menus);
         });
         
         //菜單列表html
         var menus = '';
         
         //根據菜單主鍵id生成菜單列表html
         //id:菜單主鍵id
         //arry:菜單數組信息
         function GetData(id, arry) {
         var childArry = GetParentArry(id, arry);
         if (childArry.length > 0) {
         menus += '<ul>';
         for (var i in childArry) {
         menus += '<li>' + childArry[i].name;
         GetData(childArry[i].id, arry);
         menus += '</li>';
         }
         menus += '</ul>';
         }
         }
         
         //根據菜單主鍵id獲取下級菜單
         //id:菜單主鍵id
         //arry:菜單數組信息
         function GetParentArry(id, arry) {
         var newArry = new Array();
         for (var i in arry) {
         if (arry[i].pid == id)
         newArry.push(arry[i]);
         }
         return newArry;
         }
         </script>
        </body>
        </html>
        
        

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        JavaScript遞歸算法生成樹形菜單

        本文實例為大家分享了js生成樹形菜單的具體代碼,供大家參考,具體內容如下:1、最終效果圖(這里僅為實現算法,并加載至頁面,不做任何css界面優化)。注釋:本示例包含三級目錄菜單,但實際上可支持N級(可使用該代碼自行測試)。2、數據源;菜單信息一般來源于數據庫中數據表,且為自連接表,其中包含主要字段(主鍵,菜單名稱,父級id)。本示例在前端頁面中使用對象數組模擬從數據庫獲取菜單信息。
        推薦度:
        標簽: 菜單 js javascript
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲人成电影在线天堂| 亚洲国产V高清在线观看| 亚洲AV无码一区东京热| 久久精品无码专区免费东京热| 亚洲偷自拍拍综合网| 亚洲第一区香蕉_国产a| 亚洲欧好州第一的日产suv| 亚洲中文无码永久免费| 久久精品亚洲乱码伦伦中文| 亚洲春色在线观看| 久久久久久噜噜精品免费直播| 亚洲色偷偷综合亚洲AV伊人| 久久国产美女免费观看精品| 77777亚洲午夜久久多人| 亚洲精品乱码久久久久久V| 日韩视频在线观看免费| 亚洲成人精品久久| 无码国产精品一区二区免费虚拟VR| 亚洲另类视频在线观看| 日本免费网站观看| 免费一级毛片在线播放放视频| 亚洲天堂中文字幕在线| 99视频有精品视频免费观看| 亚洲精品无码专区2| 国产成人精品无码免费看| 亚洲欧洲春色校园另类小说| 女人18毛片水真多免费播放| 男女污污污超污视频免费在线看| 国产亚洲成AV人片在线观黄桃| 一个人看的www视频免费在线观看 一个人看的免费观看日本视频www | 久久精品免费全国观看国产| 亚洲风情亚Aⅴ在线发布| 国产偷窥女洗浴在线观看亚洲| 免费视频精品一区二区三区| 亚洲小说区图片区另类春色| 阿v视频免费在线观看| 久久亚洲国产精品一区二区| 成年在线观看网站免费| 又长又大又粗又硬3p免费视频| 免费在线视频一区| 美女被免费网站在线视频免费|