轻松实现jquery手风琴效果


Posted in Javascript onJanuary 14, 2016

为大家讲解的JQuery动画特效为手风琴,废话不多说,先看最终实现效果图。

轻松实现jquery手风琴效果

一、实现原理分析

轻松实现jquery手风琴效果

对应的立体图:

轻松实现jquery手风琴效果

二、 HTML代码分析

<body> 
 <div id="container"> 
  <ul id="content"> 
   <li class="first"> 
    <h3>真</h3> 
    <div><img src="images/0.jpg"/></div> 
   </li> 
   <li class="second"> 
    <h3>的</h3> 
    <div><img src="images/1.jpg"/></div> 
   </li> 
   <li class="third"> 
    <h3>爱</h3> 
    <div><img src="images/2.jpg"/></div> 
   </li> 
   <li class="forth"> 
    <h3>你</h3> 
    <div><img src="images/4.jpg"/></div> 
   </li> 
  </ul> 
 </div> 
</body>

1. id为container的div就是上面分析中的红色区域。
2. id为content的ul就是用来存放所有的li。

3. 每个li就是一个红色区域与对应图片的组合。

三、CSS代码分析

*{margin: 0; padding: 0;} 
 
  img{ 
   border:0; 
  } 
 
  #container 
  { 
   width:680px; 
   height: 300px; 
   margin: 100px auto; 
   position: relative; 
   border:3px solid red; 
   overflow: hidden; 
  } 
 
  #container #content 
  { 
   list-style: none; 
  } 
 
  #container #content li{ 
   width:590px; 
   height:300px; 
   position: absolute; 
  } 
 
  #container #content li.second{ 
   left:590px; 
  } 
 
  #container #content li.third{ 
   left:620px; 
  } 
 
  #container #content li.forth{ 
   left:650px; 
  } 
 
  #container #content li h3{ 
   float:left; 
   width: 24px; 
   height:294px; 
   border:3px solid blue; 
   background-color: yellow; 
   cursor: pointer; 
  } 
 
  #container #content li div{ 
   float: left; 
   width: 560px; 
   height:300px; 
  }

1. *和img标签用来去除系统默认的间隙等效果。
2. #container就是在上面分析的可视区域,所以它的尺寸是 680 * 300,并且它是所有子元素的容器,所以它是相对定位(position: relative)。

3. #container #content就是去除掉ul默认的小圆点效果。

4. 所有的li采用绝对定位,并且它们的大小均为 590 * 300, 然后设置后面li的left值,并且设置li的h3(黄色区域)属性漂浮。

当上面所有的css样式设置完毕以后,最终呈现的效果就是分析图中的效果。

四、JQuery代码分析

手风琴的js交互代码其实非常简单,就是实时的改变对应li的绝对位置的left值就可以了,代码如下:

$(function(){ 
 
   $("#container #content li.first h3").mouseenter(function(){ 
    $("#container #content li.second").stop().animate({"left":590}, 1000); 
    $("#container #content li.third").stop().animate({"left":620}, 1000); 
    $("#container #content li.forth").stop().animate({"left":650}, 1000); 
   }); 
 
   $("#container #content li.second h3").mouseenter(function(){ 
    $("#container #content li.second").stop().animate({"left":30}, 1000); 
    $("#container #content li.third").stop().animate({"left":620}, 1000); 
    $("#container #content li.forth").stop().animate({"left":650}, 1000); 
   }); 
 
   $("#container #content li.third h3").mouseenter(function(){ 
    $("#container #content li.second").stop().animate({"left":30}, 1000); 
    $("#container #content li.third").stop().animate({"left":60}, 1000); 
    $("#container #content li.forth").stop().animate({"left":650}, 1000); 
   }); 
 
   $("#container #content li.forth h3").mouseenter(function(){ 
    $("#container #content li.second").stop().animate({"left":30}, 1000); 
    $("#container #content li.third").stop().animate({"left":60}, 1000); 
    $("#container #content li.forth").stop().animate({"left":90}, 1000); 
   }); 
    
  });

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
JS循环遍历JSON数据的方法
Jul 08 Javascript
jQuery选择id属性带有点符号元素的方法
Mar 17 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
Jun 01 Javascript
javascript实现简单的进度条
Jul 02 Javascript
表单验证插件Validation应用的实例讲解
Oct 10 Javascript
微信小程序 获取设备信息 API实例详解
Oct 02 Javascript
JavaScript实现省市县三级级联特效
May 16 Javascript
vue 打包后的文件部署到express服务器上的方法
Aug 09 Javascript
详解写好JS条件语句的5条守则
Feb 28 Javascript
微信小程序如何播放腾讯视频的实现
Sep 20 Javascript
浅谈webpack和webpack-cli模块源码分析
Jan 19 Javascript
如何基于layui的laytpl实现数据绑定的示例代码
Apr 10 Javascript
jQuery取得iframe中元素的常用方法详解
Jan 14 #Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
Jan 14 #Javascript
分享网页检测摇一摇实例代码
Jan 14 #Javascript
jquery淡入淡出效果简单实例
Jan 14 #Javascript
jQuery实现的左右移动焦点图效果
Jan 14 #Javascript
详解JavaScript中的构造器Constructor模式
Jan 14 #Javascript
jquery+json实现动态商品内容展示的方法
Jan 14 #Javascript
You might like
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
2014/04/29 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
2018/12/20 PHP
PHP设计模式之观察者模式定义与用法分析
2019/04/04 PHP
php回调函数处理数组操作示例
2020/04/13 PHP
利用javascript查看html源文件
2006/11/08 Javascript
JavaScript中的其他对象
2008/01/16 Javascript
JavaScript中的关键字&quot;VAR&quot;使用详解 分享
2013/07/31 Javascript
百度移动版的url编码解码示例
2014/04/29 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
js实现百度联盟中一款不错的图片切换效果完整实例
2015/03/04 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
2015/03/14 Javascript
开启BootStrap学习之旅
2016/05/04 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
2016/06/17 Javascript
如何用js实现鼠标向上滚动时浮动导航
2016/07/18 Javascript
javascript中的面向对象
2017/03/30 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
2017/09/15 Javascript
关于微信小程序bug记录与解决方法
2018/08/15 Javascript
python判断端口是否打开的实现代码
2013/02/10 Python
编写Python脚本使得web页面上的代码高亮显示
2015/04/24 Python
Python实现列表转换成字典数据结构的方法
2016/03/11 Python
Python实现的桶排序算法示例
2017/11/29 Python
Python实现文件信息进行合并实例代码
2018/01/17 Python
python dataframe astype 字段类型转换方法
2018/04/11 Python
在Python中分别打印列表中的每一个元素方法
2018/11/07 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
linux中如何使用python3获取ip地址
2019/07/15 Python
解决python tkinter界面卡死的问题
2019/07/17 Python
详解tensorflow2.x版本无法调用gpu的一种解决方法
2020/05/25 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
Python中生成ndarray实例讲解
2021/02/22 Python
电影T恤、80年代T恤和80年代服装:TV Store Online
2020/01/05 全球购物
预备党员党课思想汇报
2014/01/13 职场文书
大学应届生的自我评价
2014/03/06 职场文书
小学班主任评语大全
2014/04/23 职场文书
支行行长竞聘报告
2014/11/06 职场文书
职工培训工作总结
2015/08/10 职场文书