摘要:jquery实现垂直展开二级菜单

最近新开发一个简单项目,用到左侧两级的菜单。找找了手头的文件,竟然没有现成的代码,算了,去网上找找整理下吧。

注:jquery-1.8.3.min.js需要下载文件放到同级名为js的文件夹里。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jquery垂直展开折叠手风琴效果</title>
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
<style type="text/css">
body {
margin: 0px;
padding: 0px;
font-family: "微软雅黑";
font-size: 12px;
} div, ul, li, ol, dl, dt, dd, img, p, h1, h2, h3, p, table, td, th {
margin: 0px;
padding: 0px;
list-style-type: none;
border: 0;
} a {
text-decoration: none;
} /* 侧导航 */
.menu {
width: 195px;
background-color: #cfe5ec;
} .menu ul {
width: 195px;
padding-top: 5px;
} .menu li {
background: #3E8ED5;
line-height: 30px;
color: #4f4f4f;
display: block;
text-indent: 3em;
margin-top: 1px;
} .menu li a {
height: 30px;
display: block;
color: white;
} .menu li a:hover {
height: 30px;
display: block;
color: #4f4f4f;
} .cur {
background: #2668cb;
font-weight: bold;
}
.submenu {
font-size: 12px;
} .submenu li {
height:30px;
line-height:30px;
background: #48A1F0;
} .submenu a {
display: block;
text-decoration: none;
color: #d9d9d9;
-webkit-transition: all 0.25s ease;
-o-transition: all 0.25s ease;
transition: all 0.25s ease;
} .submenu a:hover {
background: #2668cb;
color: #FFF;
}
</style> </head>
<body>
<div>
<ul class="menu" id="ulmenu">
<li>
<a>开发语言</a>
<ul class="submenu">
<li><a onclick="changeStyle(1);" sysId="1" href="#" >Java</a></li>
<li><a onclick="changeStyle(2);" sysId="2" href="#" >NET</a></li>
<li><a onclick="changeStyle(3);" sysId="3" href="#" >VB</a></li>
<li><a onclick="changeStyle(4);" sysId="4" href="#" >C++</a></li>
</ul>
</li> <li>
<a>集成开发环境</a>
<ul class="submenu">
<li><a onclick="changeStyle(5);" sysId="5" href="#" >WebStrom</a></li>
<li><a onclick="changeStyle(6);" sysId="6" href="#" >Visual studio</a></li>
</ul>
</li>
<li>
<a>脚本语言</a>
<ul class="submenu">
<li><a onclick="changeStyle(7);" sysId="7" href="#">Javascript</a></li>
<li><a onclick="changeStyle(8);" sysId="8" href="#">Python</a></li>
</ul>
</li>
</ul>
</div>
</body>
<script type="text/javascript">
$(function () {
$('.menu li > .submenu').slideUp('normal');//通过使用滑动效果,隐藏被选元素,如果元素已显示出来的话 var accordion_head = $('.menu > li > a'),
accordion_body = $('.menu li > .submenu');
//accordion_head.first().addClass('active').next().slideDown('normal');这行代码设置页面打开时展开第一个菜单
accordion_head.on('click', function (event) {
event.preventDefault();//preventDefault() 方法阻止元素发生默认的行为
if ($(this).attr('class') != 'active') {
accordion_body.slideUp('normal');
$(this).next().stop(true, true).slideToggle('normal');
//获取.menu > li > a > 点击元素的同级的下个元素>停止所有在该元素上正在运行的动画>通过使用滑动效果在显示和隐藏状态之间切换元素
accordion_head.removeClass('active');
$(this).addClass('active');
}
else {
accordion_body.slideUp('normal');
$(this).removeClass('active');
}
});
}); function changeStyle(obj) {
$(".submenu a").each(function () {
if (obj == $(this).attr("sysId")) {
$(this).addClass('cur');
} else {
$(this).removeClass('cur');
}
});
} </script>
</html>

样式active用来标记当前哪个元素是展开状态,主要用到jQuery里的slideUp和 slideToggle方法。

jquery垂直展开折叠手风琴二级菜单的更多相关文章

  1. jQuery - 制作点击显示二级菜单效果

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  2. jquery导航栏高亮(二级菜单点击一级保持高亮)

    <script type="text/javascript"> var urlstr = location.href; var urlstatus=false; $(& ...

  3. python 全栈开发,Day109(客户管理之动态"二级"菜单)

    昨日内容回顾 1. 权限有几张表? 2. 简述权限流程? 3. 为什么要把权限放入session? 4. 静态文件和模块文件 5. 相关技术点 - orm查询 - 去空 - 去重 - 中间件 - in ...

  4. 使用jQuery 中的显示与隐藏动画效果实现折叠下拉菜单的收缩和展开,在页面的列表中有若干项,列表的每项中有一个二级列表,二级列表默认为隐藏状态。点击列表的项,切换二级列表的显示或隐藏状态

    查看本章节 查看作业目录 需求说明: 使用jQuery 中的显示与隐藏动画效果实现折叠下拉菜单的收缩和展开,在页面的列表中有若干项,列表的每项中有一个二级列表,二级列表默认为隐藏状态.点击列表的项,切 ...

  5. Jquery垂直下拉二级菜单

    自己做了一个基于Jquery 的垂直下拉二级菜单功能,直接看图: Html的代码如下: <!DOCTYPE html> <html> <head> <meta ...

  6. jquery 展开折叠菜单

    jquery 展开折叠菜单 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <ht ...

  7. jQuery垂直二级导航菜单代码

    http://www.sucaihuo.com/js/395.html 分享一个简单的垂直二级菜单导航.   HTML <div id="my_menu" class=&qu ...

  8. bootstrap-简单实用的垂直手风琴滑动菜单列表特效

    前端: <html lang="zh"> <head> <meta charset="UTF-8"> <meta ht ...

  9. 基于jQuery垂直多级导航菜单代码

    基于jQuery垂直多级导航菜单代码是一款黑色风格的jQuery竖直导航菜单特效下载.效果图如下: 在线预览   源码下载 实现的代码. html代码: <ul class="ce&q ...

随机推荐

  1. HTML: Css初始化

    相同的元素, 如ul>li,body等元素在不同的瀏覽器下被渲染的效果不同(各個瀏覽器對這些元素的border,margin,padding,font-size等等的初始值不同), 要讓他們表現 ...

  2. 7.PHP内核探索:Apache模块介绍

    Apache概述 Apache是目前世界上使用最为广泛的一种Web Server,它以跨平台.高效和稳定而闻名.按照去年官方统计的数据,Apache服务器的装机量占该市场60%以上的份额.尤其是在 X ...

  3. vue model双向绑定

    view <div id='demo' class="container"> <input type="text" v-model='name ...

  4. 学习VS生活

    很多时候,失败的原因归结为一点:我没有时间...代码敲不完,我真的是没有时间么?很多时候是没意识的浪费时间 我每次进教室,总能看到吴刚和赵东亮在敲代码,为啥他们有时间呢?很多时候,时间就像那啥,挤一挤 ...

  5. Fingerprinting

    https://wiki.mozilla.org/Fingerprinting Fingerprinting   Contents 1 Overview 2 Data 2.1 Plugins 2.2 ...

  6. Delphi 的绘图功能[1] - PolyBezier、PolyBezierTo

    双击代码全选 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 unit Unit1; interface uses Windows, Messages, SysUtils ...

  7. vm设置静态ip

    1. 进入虚拟linux系统中,vim /etc/sysconfig/network-scripts/ifcfg-eth0,里面保留以下内容即可: DEVICE=eth0 //使用的网卡标识 BOOT ...

  8. Bluetooth数据包捕获

    目录 1. 前提 2. 开启功能 3. 抓包 这里介绍一种在Android上捕获蓝牙数据包的方法 1. 前提 首先你要有一部Android手机 然后你的Android系统版本要在4.4及以上 我没有做 ...

  9. 智能手机,医疗诊断,云会议(gotomeeting/citrix)

    在诊断领域已出现很多大有希望的创新,它们可能会起到真正的变革作用. 例如,有一种新技术可以让健康护理工作者用一部智能手机拍摄高质量的视网膜图像.这些数码照片像素很高,足以帮助检测白内障.黄斑退化.糖尿 ...

  10. docker es and es cluster

    How to use this image You can run the default elasticsearch command simply: $ docker run -d elastics ...