sidebar-menu.js源码:

(function ($) {$.fn.sidebarMenu = function (options) {options = $.extend({}, $.fn.sidebarMenu.defaults, options || {});var target = $(this);target.addClass('nav');target.addClass('nav-list');if (options.data) {init(target, options.data);}else {if (!options.url) return;$.getJSON(options.url, options.param, function (data) {init(target, data);});}var url = window.location.pathname;//menu = target.find("[href='" + url + "']");//menu.parent().addClass('active');//menu.parent().parentsUntil('.nav-list', 'li').addClass('active').addClass('open');function init(target, data) {$.each(data, function (i, item) {var li = $('<li id=\'menu_li_'+item.id+'\'></li>');var a = $('<a></a>');var icon = $('<i></i>');//icon.addClass('glyphicon');icon.addClass(item.icon);var text = $('<span></span>');text.addClass('menu-text').text(item.text);a.append(icon);a.append(text);if (item.menus&&item.menus.length>0) {a.attr('href', '#');a.addClass('dropdown-toggle');var arrow = $('<b></b>');arrow.addClass('arrow').addClass('icon-angle-down');a.append(arrow);li.append(a);var menus = $('<ul></ul>');menus.addClass('submenu');init(menus, item.menus);li.append(menus);}else {if(item.close == undefined) item.close = true;var href = 'javascript:addTabs({id:\'' + item.id + '\',title: \'' + item.text + '\',close: ' + item.close + ',url: \'' + item.url + '\'});';a.attr('href', href);//if (item.istab)// a.attr('href', href);//else {// a.attr('href', item.url);// a.attr('title', item.text);// a.attr('target', '_blank')//}li.append(a);}target.append(li);});}}$.fn.sidebarMenu.defaults = {url: null,param: null,data: null};
})(jQuery);

使用案例:

html:

 <div class="sidebar" id="sidebar"><ul class="nav nav-list" id="menu"></ul></div>

自己的js:

    $('#menu').sidebarMenu({data : menuArr});

《前端》引用包sidebar-menu.js源码及使用相关推荐

  1. js define函数_不夸张,这真的是前端圈宝藏书!360前端工程师Vue.js源码解析

    优秀源代码背后的思想是永恒的.普适的. 这些年来,前端行业一直在飞速发展.行业的进步,导致对从业人员的要求不断攀升.放眼未来,虽然仅仅会用某些框架还可以找到工作,但仅仅满足于会用,一定无法走得更远.随 ...

  2. 【Vue.js源码解析 一】-- 响应式原理

    前言 笔记来源:拉勾教育 大前端高薪训练营 阅读建议:建议通过左侧导航栏进行阅读 课程目标 Vue.js 的静态成员和实例成员初始化过程 首次渲染的过程 数据响应式原理 – 最核心的特性之一 准备工作 ...

  3. 【笔记-vue】《imooc-vue.js高仿饿了么》、《imooc-vue 音乐app》、《imooc-vue.js源码全方位解析》

    20170709 - 20171128:<imooc-vue.js高仿饿了么> 一.第一章 课程简介 1-1课程简介 1.需求分析-脚手架工具-数据mock-架构设计-代码编写-自测-编译 ...

  4. Evil.js源码解读

    https://github.com/duo001/evil.js 火爆全网的 Evil.js 源码解读 火爆全网的 Evil.js 源码解读 什么?黑心996公司要让你提桶跑路了? 想在离开前给你们 ...

  5. ElasticSearch.js源码走一个大概

    介绍 Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 L ...

  6. 易启秀20150629完整包微场景制作源码,新增1.4G素材包,全新后台UI设计+采集

    易启秀20150629完整包微场景制作源码,新增1.4G素材包,全新后台UI设计+采集 本文由 穷站长 于 2015-7-18 9:23 Saturday 发布在 php源码 评论(46) 最新版易启 ...

  7. Vue.js 框架源码与进阶 - Vue.js 源码剖析 - 响应式原理

    文章目录 一.准备工作 1.1 Vue 源码的获取 1.2 源目录结构 1.3 了解 Flow 1.4 调试设置 1.5 Vue 的不同构建版本 1.6 寻找入口文件 1.7 从入口开始 二.Vue ...

  8. 补环境:vm2 transformer.js 源码分析

    在补环境框架的文件夹里执行 vm2 文件能成功得到结果,但是将合并了环境和原 js 文件后的代码内容单独提取出来通过 vm2 调用却报错提示 SyntaxError: Use of internal ...

  9. video.js 源码解析

    为什么80%的码农都做不了架构师?>>>    写在前面 现在视频业务越来越流行了,播放器也比较多,作为前端工程师如何打造一个属于自己的播放器呢?最快最有效的方式是基于开源播放器深度 ...

最新文章

  1. Visual C++ 2011-6-6
  2. 02 | 服务治理:Nacos 如何实现微服务服务治理
  3. sql的加减乘除运算_实现四则运算的一条sql语句
  4. 花鱼儿家的家常小菜~~~~~~丁香鱼炒花菜
  5. ASP.NET Core appsettings.json文件(9)《从零开始学ASP.NET CORE MVC》:
  6. ionic3 隐藏子页面tabs
  7. 个人简介页面如何设计?集设网优秀案例给你灵感
  8. 计算机软件被删了,电脑软件被我不小心删了怎么处理
  9. AJPFX浅谈关于Java程序员缺乏面向对象的基本功的问题
  10. 985计算机只考数据结构,初试只考数据结构的985院校
  11. Winfrom 桌面弹窗拦截 关闭进程简易程序 源代码下载
  12. 共享单车公司每年花上亿元赎车
  13. 计算机一级幻灯片版式,ppt2010官方基础教程:添加不同版式幻灯片-powerpoint技巧-电脑技巧收藏家...
  14. linux 误删文件恢复
  15. python拼音检查
  16. Oracle not in 范围超过 1000 报错问题及解决方案
  17. selenium实现拉钩爬虫
  18. 【阿里云】深入分析阿里云中图片服务的架构经验
  19. 软考——软件测评师基础知识
  20. wordpress网站同步微信小程序源码搭建(附源码,亲测)

热门文章

  1. 可怕的QQ浏览器,仅仅开了一个网页,就用了我980M,怎么回事儿?firefox性能依旧坚挺
  2. 微信小程序使用前置摄像头拍照
  3. Struts Hibernate整合配置准备
  4. 软件开发就像歌曲制作,我的岗位相当于乐器伴奏
  5. Ubuntu下PDF文件转JPG图片
  6. hdu 5072 Coprime(同色三角形+容斥)
  7. 开源学:开源史学纲要
  8. 我的CSDN博客正式登陆
  9. 智能门锁:电源管理概述1
  10. 美通企业日报 | 2020年中国薪酬预期涨幅6.5%;巴西将对中国游客免签