<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>手风琴</title>
<link href="css/accordion.css" rel="stylesheet">
<script src="js/jquery-1.11.1.min.js"></script>
<script src="js/accordion.js"></script>
<script>
$(function(){
//插件的应用
$("#ul1").accordion();
});
</script>
</head>
<body>
<ul id="ul1">
<li>111111111<span>第一块</span></li>
<li>22222222222<span>第二块</span></li>
<li>33333333333<span>第三块</span></li>
<li>444444444<span>第四块</span></li>
<li>555555555<span>第五块</span></li>
</ul>
</body>
</html>

js部分

/**
* Created by Iecy on 14-9-5.
* 手风琴插件
*/
;(function($){
$.fn.extend({
accordion:function(options){
var defaults = {
width:"800px",
spanWidth:20,
hideWidth:700
};
var options = $.extend(defaults,options);
var obj = $(this); //当前对象
var obj_children = obj.children();//当前对象下的子级(第一级)
var obj_childern_len = obj_children.length;//子级的个数
var aLeft = [];
obj_children.each(function(){
var index = $(this).index();
$(this).css({zIndex:obj_childern_len-index,left:options.spanWidth*index+"px"});//初始化各个li层级和位置
aLeft[index] = $(this).position().left;//保存下各个手风琴键的位置
}); obj_children.mouseover(function(){
var index = $(this).index();
obj_children.each(function(){
if($(this).index()<index){
obj_children.eq($(this).index()).stop().animate({left:aLeft[$(this).index()]-options.hideWidth+"px"});
}else{
obj_children.eq($(this).index()).stop().animate({left:aLeft[$(this).index()]+'px'});
}
});
});
}
});
})(jQuery);

css部分

 * {margin:; padding:; list-style:none;}
/*展开:720px 收起:20px*/
#ul1 {width:800px; height:400px; border:1px solid red; margin:10px auto; position:relative; overflow:hidden;}
#ul1 li {width:720px; height:400px; background:#CCC; position:absolute;}
#ul1 li span {position:absolute; top:; right:; background:#C66; width:18px; height:398px; border:1px solid black; color:white; text-align:center;}

个人练习,路过下就可以了。

Jquery学习插件之手风琴的更多相关文章

  1. Jquery 学习插件第一天

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title&g ...

  2. jQuery学习之路(8)- 表单验证插件-Validation

    ▓▓▓▓▓▓ 大致介绍 jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 ...

  3. 深入学习jQuery自定义插件

    原文地址:jQuery自定义插件学习 1.定义插件的方法 对象级别的插件扩展,即为jQuery类的实例增加方法, 调用:$(选择器).函数名(参数);      $(‘#id’).myPlugin(o ...

  4. jQuery学习之:Validation表单验证插件

    http://polaris.blog.51cto.com/1146394/258781/ 最近由于公司决定使用AJAX + Struts2来重构项目,让我仔细研究一下这两个,然后集中给同事讲讲,让每 ...

  5. 基于jquery的插件turn.js学习笔记

    基于jquery的插件turn.js学习笔记 简介 turn.js是一个可以实现3d书籍展示效果的jq插件,使用html5和css3来执行效果.可以很好的适应于ios和安卓等触摸设备. How it ...

  6. JQuery zoom插件学习

    jquery zoom是一款图片放大插件,经常用在商城商品页面里. 使用JQuery zoom插件,除了需要引入JQuery.js外,还要引入JQuery.zoom.js文件及jqzoom.css文件 ...

  7. jQuery学习笔记(jquery.form插件)

    官网: http://malsup.com/jquery/form/ jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地.无侵入地升级HTML表单以支持Ajax.jQuery Fo ...

  8. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  9. jQuery学习之路(1)-选择器

    ▓▓▓▓▓▓ 大致介绍 终于开始了我的jQuery学习之路!感觉不能再拖了,要边学习原生JavaScript边学习jQuery jQuery是什么? jQuery是一个快速.简洁的JavaScript ...

随机推荐

  1. 【日记】搭建一个node本地服务器

    用node搭建一个本地http服务器.首先了解htpp服务器原理 HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端.HTTP协议采用了请求/响应模型 ...

  2. eclipse maven maven-archetype-webapp 创建失败

    如果在eclipse中发现创建maven失败,大部分的原因是因为本地仓库坏了,或是少东西了,最直接的方法就时删掉重新下载就好了

  3. C# 操作excel单元格居中

    C# 操作excel //导出Excel        private void ExportExcel(string fileName, System.Data.DataTable myDGV, s ...

  4. iOS 申请加急审核

    申请加急网址:https://developer.apple.com/appstore/contact/appreviewteam/index.html 提交加急审核需要理由,一般涉及到银行信息,或者 ...

  5. UML大战需求分析——阅读笔记04

    读<UML大战需求分析>有感04 开发某系统的重要前提是: 这个系统有谁在用? 这些人通过这个系统能做什么事? 一般搞清楚这件事,再画个业务流程图,就能条例清楚的表达系统的需求了.作为一个 ...

  6. 给钛度产品的一些建议(Note)

    背景:上一只鼠标坏了,今天299从京东如了一只钛度鼠标,核心用料据说都很高端,设计也不错.但是实际用起来发现了很多码农常识问题和产品建议,遂反馈给钛度客服,并记录于此. 传送门: http://bbs ...

  7. U盘安装centos7 无法进入安装界面,进入dracut命令的解决办法。

    最近想要装一个centos7 玩一玩,就从网上下了个镜像,用UltraISO制作了安装U盘,准备在旧电脑上装一个. 结果始终无法进入安装界面,而是进入了dracut命令行. 从网上找了解决方法:

  8. Redis 外部访问设置

    1.错误原因 Redis搭建好后一般都是使用编程语言进行连接调用,默认Redis的设置是不允许外界访问的,连接Redis只能通过本地(127.0.0.1)来连接,而不能使用网络IP(192.168.1 ...

  9. 【Java EE 学习 57】【酒店会员管理系统之分页模板书写】

    分页一直是一个比较麻烦的问题,特别是在我做的这个系统中更是有大量的分页,为了应对该问题,特地写了一个模板以方便代码重用,该模板包括后台分页的模板.前端显示的模板两部分. 一.分页分析 分页需要三种类型 ...

  10. Linux 使用Crontab设置定时调用Shell文件

    定时执行步骤: 利用crontab来定时执行任务大致有如下两步: 1.编写shell脚本 2.利用crontab加入到定时任务队列 一.如何建立shell脚本 程序必须以下面的行开始(必须方在文件的第 ...