采用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);
}
});
});
是对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
});
});