菜单(左侧菜单就是例子)res/main/menu/js/menu.js

采用BS的列表样式,自制的手风琴效果的jquery菜单,配合系统的设置可以悬浮、缩放。理论上可以支持无限下级菜单,但由于下级菜单会比父菜单窄一点,这样多级菜单之后会影响用户使用。菜单的跳转推荐使用ajax方式(默认也是ajax方式)。

菜单的结构如下:

复制
<ul class="list-group tool_border_radius_0 bsMenu" id="menu">
  <li class="list-group-item">  <!-- 非ajax跳转,并带有图标,无子菜单 -->
    <a href="index.html" class="active">
      <span class="glyphicon glyphicon-tower"></span>
      <span class="menu_text">首页</span>
    </a>
  </li>
  <li class="list-group-item">  <!-- 有子菜单 -->
    <a>  <!-- 有子菜单的a建议不写href或href为"javascript:;" -->
      <span class="glyphicon glyphicon-pushpin"></span>
      <span class="menu_text">插件列表
      <span class="glyphicon glyphicon-chevron-down pull-right"></span>
      </span>
    </a>
    <ul class="list-group">  <!-- 子菜单 -->
      <li class="list-group-item"><a href="plugs.html" data-ajax="true">插件列表</a></li>  <!-- ajax跳转 只需多添加data-ajax="true"的属性 -->
      <li class="list-group-item"><a href="plugsDocs.html" data-ajax="true">第三方插件说明</a></li>
      <li class="list-group-item"><a href="myPlugsDocs.html" data-ajax="true">EndAdmin原创插件说明</a></li>
    </ul>
  </li>
</ul>

菜单的初始化(在res/main/js/index.js中)。如无特殊回调处理,init参数可为空:menu.init();

复制
seajs.use(["menu"], function(menu){
  menu.init({
    selector: "#menu",    //菜单选择器 默认  #menu;
    beforeClick: function(obj){   //执行跳转前回调,返回false 停止跳转。默认返回true
      // console.info(obj);
    },
    itemClick:function(obj){    //跳转后执行,无返回值
      // console.info(obj);
    }
  });
});

alert res/main/alert/alert.js

是对layer的封装

复制
seajs.use(["alert"], function(myDialog){
  //html内容弹出框
  //title:弹出框标题,不需要可以设为false
  //html:弹出框html内容,支持html标签
  //width,height:宽度和高度,默认为auto,可以不设置
  //yes:确认按钮,function类型,可不设
  //no:取消按钮,同上
  myDialog.html(title, html, width, height, yes, no);   
  //例子:
  myDialog.html("信息", "<h1>hello EnoND</h1>","200px","100px",function(){
    console.info("确认");
  },function(){
    console.info("取消");
  });

  //dom弹窗
  //和html弹窗至却别第2个参数dom
  //dom是传入jquery的选择器,他会把选择器的对象dom弹出来
  myDialog.dom(title, dom, width, height, yes, no);
  //例子:
  myDialog.dom("修改", "#modelEdit","200px","100px",function(){
    console.info("确认");
  },function(){
    console.info("取消");
  });

  //tip弹窗
  //他会悬浮在某个按钮或连接上
  //content:文字内容
  //obj:要吸引的dom对象
  //parme:允许传这些属性{time: 自动关闭所需秒, maxWidth: 最大宽度, guide: 指引方向, style: tips样式(参加api表格一中的style属性)} 
  myDialog.tip(content, obj, parme);
  //例子:
  myDialog.tip("请点击","a", {
    time:3
  });
});