/// <reference path="../global.js" />
/******************************************************
我的活动左则菜单
edit by yezhi
******************************************************/ YDW.SideNavi = (function () { var instance; function constructor() {
return {
accordion: function () {
var $sb = $('#sidebar');
var $sideNavBlock = $('#sidebar > .sideNav_block');
var $content = $('#content');
//隐藏子菜单
function hideSubmenu() {
$('#sidebar > #sideNav_block > div#ye_accordion > div > ul').hide();
}
function removeTitleClass() {
$('#sidebar > #sideNav_block > div#ye_accordion > div > h3 > a').removeClass('current');
}
function removeSubTitleClass() {
$('#sidebar > #sideNav_block > div#ye_accordion > div > ul > li').removeClass('current');
}
//添加标题右则小三角
function addDownArrow() {
$('#sidebar > #sideNav_block > div#ye_accordion > div > h3').each(function () {
var $ul = $(this).next('ul');
if ($ul.length > 0) {
$(this).append('<span class="dropdownArrow"></span>');
}
});
}
//设置菜单的最小高度
function setSitebarHeight() {
$sideNavBlock.css({ 'min-height': $(document).height() });
}
//为不够权限的菜单添加提示
function addTitleForUnauthorized() {
$('#sidebar > #sideNav_block > div#ye_accordion > div.unauthorized_block > ul > li').attr({ 'title': '此功能要升级为API版本方可使用' });
}
//给主体页添加背景,因左则无素切换不同的同容,只有左则内容为活动的菜单才须要添加该类,其它将移除该类
function addContainerBg() {
//$('.admin_master #content').css({ 'background': 'url(../content/images/admin/menu_bg.jpg) left top ' });
$('.admin_master #content').addClass('contentBg');
}
//初始化
function init() {
addContainerBg();
hideSubmenu();
addDownArrow();
addTitleForUnauthorized();
setSitebarHeight();
} init(); //父标题点击
$('#sidebar > #sideNav_block > div#ye_accordion > div > h3 > a').click(function () {
hideSubmenu();
removeTitleClass();
$(this).addClass('current').parent().next('ul').slideToggle();
return false;
});
//子标题点击
$('#sidebar > #sideNav_block > div#ye_accordion > div:not(".unauthorized_block") > ul > li').click(function () {
removeSubTitleClass();
$(this).addClass('current');
setSitebarHeight();
});
}
};
} return {
getInstance: function () {
if (!instance) {
instance = constructor();
}
return instance;
}
}
})(); (function ($) {
$(function () {
YDW.SideNavi.getInstance().accordion();
});
})(jQuery);

  

jquery navi的更多相关文章

  1. JQuery Sizzle引擎源代码分析

    最近在拜读艾伦在慕课网上写的JQuery课程,感觉在国内对JQuery代码分析透彻的人没几个能比得过艾伦.有没有吹牛?是不是我说大话了? 什么是Sizzle引擎? 我们经常使用JQuery的选择器查询 ...

  2. jQuery Wheel 环形菜单插件5种效果演示

    很酷的菜单-jQuery Wheel 环形菜单插件5种效果演示在线预览 下载地址 实例代码 <div class="container"> <!-- Top Na ...

  3. Web 在线文件管理器学习笔记与总结(6)jQuery UI 预览图片

    ① 查看文件内容,如果文件是图片类型,点击直接查看图片: ② 如果不是图片类型,显示文件中的内容: ③ 使用 jQuery UI 中的 Dialog 显示图片 a.引入: <script src ...

  4. 2013年优秀jQuery插件

    今天为大家推荐的是2013年的第一期,在这期里面十个jQuery插件涵盖了响应式的网格布局插件.图片放大插件.表单元素中自定义select插件,google 地图插件.文件拖放上传插件.tooltip ...

  5. [转]jQuery插件写法总结以及面向对象方式写法

    本文转自:http://www.xuanfengge.com/jquery-plug-in-written-summary-and-summary-of-writing-object-oriented ...

  6. 关于 <script type='text/template' > 的妙用 / 使用jquery获取iframe加载完成事件

    https://www.cnblogs.com/ddqyc/p/6200539.html <!DOCTYPE html> <html> <head> <met ...

  7. Angular杂谈系列1-如何在Angular2中使用jQuery及其插件

    jQuery,让我们对dom的操作更加便捷.由于其易用性和可扩展性,jQuer也迅速风靡全球,各种插件也是目不暇接. 我相信很多人并不能直接远离jQuery去做前端,因为它太好用了,我们以前做的东西大 ...

  8. jQuery UI resizable使用注意事项、实时等比例拉伸及你不知道的技巧

    这篇文章总结的是我在使用resizable插件的过程中,遇到的问题及变通应用的奇思妙想. 一.resizable使用注意事项 以下是我在jsfiddle上写的测试demo:http://jsfiddl ...

  9. Jquery的点击事件,三句代码完成全选事件

    先来看一下Js和Jquery的点击事件 举两个简单的例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...

随机推荐

  1. CSS3控制元素排列

    需求: 将改变为. 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  2. Hadoop学习历程(一、编译)

    近期对Hadoop很感兴趣,下面是在CentOS系统上进行编译的分享 系统情况如下: 1. CentOS 6.2 64位    2. hadoop-2.2.0    3. jdk 1.6.0_31   ...

  3. Qt creator 常用的快捷健

    Qt creator 常用的快捷健 F1        查看帮助F2        跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2    声明和定义之间切换F4        头文件 ...

  4. Unicode字符集下CString与char *相互转换

    经常遇到CString转换char*时只返回第一个字符.原因是因为在Unicode字符集下CString会以Unicode的形式来保存数据,强制类型转换只会返回第一个字符.所以直接转换在基于MBCS的 ...

  5. (转)Oracle Data Guard学习

    一.Data Guard提供如下三种数据保护模式: 1)最高保护模式(Maximum Protection) 这里的”最高保护“是指最大限度的保护数据不丢失,也就是至少有一个standby和prima ...

  6. 封装JDBC事务操作,执行存储过程测试

    Oracle数据库端测试环境见:http://www.cnblogs.com/yshyee/p/4392328.html package com.mw.utils; import java.sql.C ...

  7. PSAM读卡芯片TDA8007BHL开发

    WWT:Work Waiting Time ATR:Answer To Reset,复位应答 etu =F/Df 1.     PSAM概述和应用 PSAM(PurchaseSecure Access ...

  8. 原型模式 - OK

    原型模式(Prototype),用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 简单说来原型模式就是从一个对象再创建另外一个可定制的对象,而且不需知道任何创建的细节. 原型模式UML ...

  9. Ugly Number II 解答

    Question Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose prime ...

  10. THREE.JS + Blender(obj、mtl加载代码)

    2016-11-04 09:23:17 THREE.REVISION "81dev" Blender     "2.78" 1.加载OBJ.MTL文件 // T ...