/**
* Created by bmk on 16-4-25.
*
* 用法:在自己的js里面把左侧导航的相关图标和对应的列表项名称如下编写:
* 版本更新日至按需添加
* 在js中的RNA.run(//开始加载页面数据和样式)中调用:
* 用法:在自己的js里面把左侧导航的相关图标和对应的列表项名称如下编写:
* 版本更新日至按需添加
* 在js中的RNA.run(//开始加载页面数据和样式)中调用:
* var navData = {
url: '/static/css/img/Apps-img/ioc_GEODge.png',
anayname: 'GEO数字基因表达谱分析平台',
report:{reportId:'menu0',icon:'fa-map',itm:'结题报告'},
lis: [{icon: 'fa-joomla', itm: '基本分析', id: 'menu2'},
{
icon: 'fa-anchor',//此处为折叠项
itm: '个性化一',
// id: 'menu3',
arrow:"fa arrow",
collapses:[{icon: 'fa-vine', itm: '表达量挖掘', id: 'menu3'}]
},
{icon: 'fa-vine', itm: '表达量挖掘', id: 'menu4'},
{icon: 'fa-stumbleupon',//此处为折叠项
itm: '个性化二',
// id: 'menu5',
arrow:"fa arrow",
collapses:[{icon: 'fa-vine', itm: '表达量挖掘', id: 'menu5'},{icon: 'fa-vine', itm: '表达量挖掘', id: 'menu5'}]
},
{icon: 'fa-mortar-board', itm: '新手向导', class: 'click new-guid', id: 'menu1'}] };
* navCommon.init().run(navData,左侧导航nav的id名,_isBlank != null ? _isBlank: true);
* 在$(document).ready(function (){}的末尾调用时:
* 将 _isBlank != null ? _isBlank: true 改为 isBlank != null ? false: true;
*
* navCommon.init().run(navData,左侧导航nav的id名,_isBlank != null ? _isBlank: true);
* 在$(document).ready(function (){}的末尾调用时:
* 将 _isBlank != null ? _isBlank: true 改为 isBlank != null ? false: true;
*
*
*/
(function (window, $) {
var navCommon = window.navCommon = window.navCommon || {},
proxy = function (func, thisObject) {
return (function () {
return func.apply(thisObject, arguments);
});
};
function _extend(target, source) {
for (var p in source) {
if (source.hasOwnProperty(p)) {
target[p] = source[p];
}
}
return target;
}
_extend(navCommon, appUtil);
navCommon.init = function () {
this._reportShowJsTmplJson = proxy(_tempNav, this);
return this;
};
navCommon.run = function (data,elementId,isBlank) {
var _reportShowJsTmplJson1 = this._reportShowJsTmplJson();
$.tmpl(_reportShowJsTmplJson1, data).appendTo("#" + elementId);
var report=data.report;
appReport(isBlank,report);
// uDate();
$(window).resize(function(){
// uDate();
});
return this;
};
function appReport(_isBlank,report){
if(!_isBlank){
var rpt="<li role=\"presentation\" class=\"active\"><a href=\"#"+report.reportId+"\" aria-controls=\""+report.reportId+"\" role=\"tab\" data-toggle=\"tab\"><i class=\"fa "+report.icon+"\"></i><span class=\"nav-label text-tip\">"+report.itm+"</span></a></li>";
$(".nav-header").after(rpt);
}else {
$(".new-guid").addClass('active');
}
}
// function uDate() {
// var inHeight = window.innerHeight;
// $("#page-wrapper").css("min-height",inHeight);
// var sumHeight = 0;
// var liHeight = $(".new-guid").height();
// var mtop;
// if ($("#side-menu .version-update-li").length>0){
// $("#side-menu").find("li").not(".new-guid").not(".version-update-li").each(function () {
// sumHeight += $(this).height();
// mtop = inHeight - sumHeight - liHeight*2-40;
// $(".version-update-li").css("margin-top", mtop + "px");
// });
// }else{
// $("#side-menu").find("li").not(".new-guid").each(function () {
// sumHeight += $(this).height();
// mtop = inHeight - sumHeight - liHeight-40;
// $(".new-guid").css("margin-top", mtop + "px").css("border-top","1px solid #1ab394");
// });
// }
// }
function _tempNav() {
return "<!--左侧导航-->"
+ "<div class=\"sidebar-collapse\">"
+ "<ul class=\"nav metismenu\" id=\"side-menu\">"
+ "<li class=\"nav-header\">"
+ "<div class=\"dropdown profile-element text-center\">"
+ "<span>"
+ "<img alt=\"image\" class=\"img-circle\" src=\"${url}\" style=\"width:75px;height:75px;\">"
+ "</span>"
+ "<span class=\"clear\">"
+ "<span class=\"block m-t-xs\"><strong class=\"font-bold\" style=\"color:#FFFFFF\">${anayname}</strong></span>"
+ "</span>"
+ "</div>"
+ "<div class=\"logo-element\">${anayname}</div>"
+ "</li>"
+ "{{each(i,dat) lis}}"
+ "<li role=\"presentation\" class=\'${dat.class}\'>"
+ "{{if dat.collapses&&dat.collapses !=\"\"}}"
+ "<a href=\"javascript:void(0);\"><i class=\"fa ${dat.icon}\"></i><span class=\"nav-label\">${dat.itm}</span><span class=\"${dat.arrow}\"></span></a>"
+ "{{else}}"
+ "<a href=\"#${dat.id}\" aria-controls=\"${dat.id}\" role=\"tab\" data-toggle=\"tab\"><i class=\"fa ${dat.icon}\"></i><span class=\"nav-label text-tip\">${dat.itm}</span><span class=\"${dat.arrow}\"></span></a>"
+ "{{/if}}"
+ "<ul class=\"nav nav-second-level collapse\">"
+ "{{each dat.collapses}}"
+ "<li><a href=\"#{{= $value.id}}\" aria-controls=\"{{= $value.id}}\" role=\"tab\" data-toggle=\"tab\">{{= $value.itm}}</a></li>"
+ "{{/each}}"
+ "</ul>"
+ "</li>"
+ "{{/each}}"
+ "</ul>"
+ "</div>"
}
})(window, jQuery);
$(document).ready(function(){
$("#side-menu>li").each(function(){
if($(this).find("ul").find("li").length>0){
$(this).find("a").click(function(){
$(this).parent().siblings().find("a").find("span:last-child").removeClass("arrow-transtion");
$(this).find("span:last-child").toggleClass("arrow-transtion");
$(this).parent().removeClass("active");
$(this).next("ul").toggleClass("in");
$(this).next("ul").find("li").click(function(){
$(this).parent().parent("li").siblings().removeClass("active");
$(this).parent().addClass("in");
$(this).parent().parent("li").siblings().find("ul").find("li").removeClass("active");
});
})
}else{
$(this).click(function(){
$(this).siblings().find("ul").find("li").removeClass("active");
$(this).siblings().find("ul").removeClass("in");
$(this).siblings().find("a").find("span:last-child").removeClass("arrow-transtion");
})
}
});
});

jquery模板制作左侧导航组件的更多相关文章

  1. 修改layui的后台模板的左侧导航栏可以伸缩

    原生的左侧导航栏代码: <div class="layui-side layui-bg-black"> <div class="layui-side-s ...

  2. 简单的jquery左侧导航栏和页面选中效果

    这里是要实现导航的左侧并选中的,此功能需引用jquery 效果: 左侧导航 <div class="box"> <ul class="menu" ...

  3. 使用 EasyUI 创建左侧导航菜单

    使用 JQuery EasyUI 创建左侧导航菜单,菜单的数据由后台服务提供. 效果图 HTML 元素 <div id="menuAccordion"></div ...

  4. ElementUI+命名视图实现复杂顶部和左侧导航栏

    在了解了命名视图的用途后,发现用命名视图来实现复杂导航更加省力.更多知识请参考这里 这里只说明重要配置内容,其他内容配置请参考上一篇初始版本: ElementUI 复杂顶部和左侧导航栏实现 或参考文末 ...

  5. jquery仿天猫商城左侧导航菜单

    之前看到有博友写了一个仿天猫商城左侧导航菜单,可惜不提供免费下载,也没有代码.以前自己也写过类似的效果,只是都是一小块一小块的,现在重新拼凑.我将一步一步的实现拼凑过程,希望对你有所帮助. Demo在 ...

  6. 简单的jquery左侧导航栏和页面选中

    这里是要实现导航的左侧并选中的,此功能需引用jquery 左侧导航: <div class="box"> <ul class="menu"&g ...

  7. (转)jquery仿天猫商城左侧导航菜单

    原文地址:http://www.cnblogs.com/WinKi/p/3398824.html 之前看到有博友写了一个仿天猫商城左侧导航菜单,可惜不提供免费下载,也没有代码.以前自己也写过类似的效果 ...

  8. [转]玩转Angular2(4)--制作左侧自动定位菜单

    本文转自:https://godbasin.github.io/2017/06/02/angular2-free-4-create-sidebar/ 因为项目原因又玩上了Angular2(v4.0+) ...

  9. Discuz3.3精仿小米风格整站模板制作——1、新建模板方案

    术语说明: 模板——模板是一堆按照规定命名方式的html文件,用于指定整个论坛不同页面的外观. 标签——标签和模板共同作用以实现论坛换肤功能,其中标签主要控制页面显示什么数据,显示多少条等. 风格—— ...

随机推荐

  1. 如何让一个DIV浮动在另一个DIV上面

      直接上DEMO了 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3 ...

  2. js函数式编程

    最近在看朴灵的<深入浅出nodejs>其中讲到函数式编程.理解记录下 高阶函数 比较常见,即将函数作为参数,或是将函数作为返回值得函数. 如ECMAScript5中提供的一些数组方法 fo ...

  3. iOS - Xcode 插件

    Xcode 插件 Xcode 插件安装目录: ~/library/Application Support/Developer/Shared/Xcode/Plug-ins Xcode 插件大全 http ...

  4. win7下的ipython没有的问题

    在笔记本上安装python2.7后,执行python是可以的,但是ipython却不行. 一.问题排查 在网上搜索了看到python与ipython的区别: 例如:ipython有tab补全功能,然后 ...

  5. HBase之计数器

    HBase计数器 #创建counters表 列族['daily','weekly','monthly'] hbase(main):001:0> create 'counters','daily' ...

  6. PBcR - 纠错及组装算法

    单分子测序reads(PB)的混合纠错和denovo组装 我们广泛使用的PBcR的原始文章就是这一篇 原文链接:Hybrid error correction and de novo assembly ...

  7. android studio gradle升级

    http://services.gradle.org/distributions 下载最新的gradle-3.0-all.zip包 放入C:\Users\Administrator\.gradle\w ...

  8. mysql跟踪和日志

    mysql 打开 general log 后,所有的查询语句都会记录在 general log 文件,文件为只读方式,但这样general log文件会非常大,所以默认是关闭的. 但有时需要查错等原因 ...

  9. sonar-gerrit-plugin-2.2.0 安装

    这是一个很新的插件国内使用的用户还是很少的,公司有需要才花了一段时间去研究. 作用:在 code review的时候可以将sonar的检测结果直接集成返回.帮助po对code 进行review. 请严 ...

  10. POJ 3020 Antenna Placement 匈牙利算法,最大流解法 难度:1

    http://poj.org/problem?id=3020 #include <cstdio> #include <cstring> #include <vector& ...