jQuery制作效果超棒的手风琴折叠菜单


Posted in Javascript onApril 03, 2015

拉风的jQuery制作的手风琴折叠菜单,效果非常不错!这里是之前版本的改进版,主要是jquery代码改进

演示图:

jQuery制作效果超棒的手风琴折叠菜单

jQuery制作效果超棒的手风琴折叠菜单

jQuery制作效果超棒的手风琴折叠菜单

main.js

$(function(){
  var tmp = null,
    $title = $('.title'),
    $con = $('.title > ul');
 
  $title.click(function(){
    $(tmp).children('ul').slideUp().end().children('.arrow').removeClass('arrow-up');
    $(this).children('ul').slideToggle().end().children('.arrow').addClass('arrow-up');
    tmp = this;
  });
  $con.click(function(){
    return false;  // 阻止事件冒泡
  });
});

index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <title>jquery js css html</title>
  <meta charset="utf-8" />
  <link rel="stylesheet" href="css/style.css" />
</head>
<body>
  <!--sidebar-->
  <div class="sidebar">
    <ul>
      <li class="title"><span>一、HTML5基础教程</span><span class="arrow"></span>
        <ul class="in-sidebar">
          <li><a target="_blank" href="http://www.jiuni.com.cn">HTML5基础教程1</a></li>
          <li><a href="#">HTML5基础教程2</a></li>
          <li><a href="#">HTML5基础教程3</a></li>
          <li><a href="#">HTML5基础教程4</a></li>
          <li><a href="#">HTML5基础教程5</a></li>
        </ul>
      </li>
      <li class="title"><span>二、CSS3基础教程</span><span class="arrow"></span>
        <ul class="in-sidebar">
          <li><a href="#">CSS3基础教程1</a></li>
          <li><a href="#">CSS3基础教程2</a></li>
          <li><a href="#">CSS3基础教程3</a></li>
          <li><a href="#">CSS3基础教程4</a></li>
          <li><a href="#">CSS3基础教程5</a></li>
        </ul>
      </li>
      <li class="title"><span>三、Javascript基础教程</span><span class="arrow"></span>
        <ul class="in-sidebar">
          <li><a href="#">Javascript基础教程1</a></li>
          <li><a href="#">Javascript基础教程2</a></li>
          <li><a href="#">Javascript基础教程3</a></li>
          <li><a href="#">Javascript基础教程4</a></li>
          <li><a href="#">Javascript基础教程5</a></li>
        </ul>
      </li>
      <li class="title"><span>四、NodeJs基础教程</span><span class="arrow"></span>
        <ul class="in-sidebar">
          <li><a href="#">NodeJs基础教程1</a></li>
          <li><a href="#">NodeJs基础教程2</a></li>
          <li><a href="#">NodeJs基础教程3</a></li>
          <li><a href="#">NodeJs基础教程4</a></li>
          <li><a href="#">NodeJs基础教程5</a></li>
        </ul>
      </li>
      <li class="title"><span>五、IOS基础教程</span><span class="arrow"></span>
        <ul class="in-sidebar">
          <li><a href="#">IOS基础教程1</a></li>
          <li><a href="#">IOS基础教程2</a></li>
          <li><a href="#">IOS基础教程3</a></li>
          <li><a href="#">IOS基础教程4</a></li>
          <li><a href="#">IOS基础教程5</a></li>
        </ul>
      </li>
    </ul>
 
  </div>
 
  <script src="js/jquery-1.8.3.min.js"></script>
  <script src="js/main.js"></script>
</body>
</html>

style.css

/*globle*/
ul, li{
  margin: 0;
  padding: 0;
  list-style-type: none;
}
a{
  display: inline-block;
  width: 100%;
  height: 31px;
  text-decoration: none;
  color: #fff;
  font-size: 13px;
}
a:hover{
  background: #52718A;
}
/*sidebar*/
.sidebar{
  width: 210px;
  height: 335px;
  margin: 50px auto;
  border-radius: 5px;
  font: 14px '新宋体';
  color: #f4f4f4;
}
.title{
  width: 95%;
  line-height: 32px;
  border-bottom: 1px solid #ccc;
  background: #1ABC9C;
  cursor: pointer;
}
.title > span{
  margin-left: 10px;
}
/*in-sidebar*/
.in-sidebar{
  width: 100%;
  display: none;
}
.in-sidebar > li{
  width: 100%;
  height: 32px;
  background: #34495E;
  line-height: 32px;
  text-align: center;
  border-bottom: 1px solid #ddd;
}
/*arrow*/
.arrow{
  float: right;
  display: inline-block;
  margin-right: 5px;
  width: 20px;
  height: 32px;
  background: url(../img/down.png) no-repeat center;
}
.arrow-up{
  background: url(../img/up.png) no-repeat center;
}

以上所述就是本文给大家分享的全部内容了,希望能够对大家学习jQuery有所帮助。

Javascript 相关文章推荐
基于jQuery的模仿新浪微博时间的组件
Oct 04 Javascript
jquery 触发a链接点击事件解决方案
May 02 Javascript
js实现汉字排序的方法
Jul 23 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
Feb 16 Javascript
vue.js或js实现中文A-Z排序的方法
Mar 08 Javascript
JavaScript中call和apply方法的区别实例分析
Aug 03 Javascript
基于Vue 实现一个中规中矩loading组件
Apr 03 Javascript
JS根据json数组多个字段排序及json数组常用操作
Jun 06 Javascript
Angular.JS读取数据库数据调用完整实例
Jul 02 Javascript
Vue 实例事件简单示例
Sep 19 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
Oct 30 Javascript
原生jQuery实现只显示年份下拉框
Dec 24 jQuery
jQuery实现左右切换焦点图
Apr 03 #Javascript
基于jquery ui的alert,confirm方案(支持换肤)
Apr 03 #Javascript
javascript制作sql转换为stringBuffer的小工具
Apr 03 #Javascript
JavaScript替换当前页面的方法
Apr 03 #Javascript
iframe里使用JavaScript控制主页转向的方法
Apr 03 #Javascript
JavaScript返回网页中锚点数目的方法
Apr 03 #Javascript
JavaScript获取页面中第一个锚定文本的方法
Apr 03 #Javascript
You might like
PHP中,文件上传
2006/12/06 PHP
一组PHP可逆加密解密算法实例代码
2014/01/21 PHP
php实现用于验证所有类型的信用卡类
2015/03/24 PHP
PHP中大括号'{}'用法实例总结
2017/02/08 PHP
Laravel5框架添加自定义辅助函数的方法
2018/08/01 PHP
文本链接逐个出现的js脚本
2007/12/12 Javascript
Javascript中各种trim的实现详细解析
2013/12/10 Javascript
js自定义鼠标右键的实现原理及源码
2014/06/23 Javascript
js锁屏解屏通过对$.ajax进行封装实现
2014/07/31 Javascript
jQuery表单域选择器用法分析
2015/02/10 Javascript
js获取当前日期时间及其它操作汇总
2015/04/17 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
2016/12/05 Javascript
Ajax高级笔记 JavaScript高级程序设计笔记
2017/06/22 Javascript
使用原生js+canvas实现模拟心电图的实例
2017/09/20 Javascript
vue.js响应式原理解析与实现
2020/06/22 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
js中的深浅拷贝问题简析
2019/05/10 Javascript
JS实现打砖块游戏
2020/02/14 Javascript
微信小程序学习总结(四)事件与冒泡实例分析
2020/06/04 Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
2020/06/24 Javascript
vuejs实现下拉框菜单选择
2020/10/23 Javascript
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
Python 分享10个PyCharm技巧
2019/07/13 Python
Python爬虫 bilibili视频弹幕提取过程详解
2019/07/31 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
2020/05/18 Python
给keras层命名,并提取中间层输出值,保存到文档的实例
2020/05/23 Python
美国最大点评网站:Yelp
2018/02/14 全球购物
Lampenwelt德国:欧洲领先的灯具和照明在线商店
2018/08/05 全球购物
程序员求职信
2014/04/16 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
有关九一八事变的演讲稿
2014/09/14 职场文书
中学生自我评价范文
2015/03/03 职场文书
python在package下继续嵌套一个package
2022/04/14 Python