轻松实现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 相关文章推荐
img标签中onerror用法
Aug 13 Javascript
利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码
Oct 22 Javascript
js实现在字符串中提取数字
Nov 05 Javascript
JavaScript版的TwoQueues缓存模型
Dec 29 Javascript
jQuery原生的动画效果
Jul 10 Javascript
jQuery遮罩层效果实例分析
Jan 14 Javascript
JS产生随机数的几个用法详解
Jun 22 Javascript
json定义及jquery操作json的方法
Sep 29 Javascript
使用JS模拟锚点跳转的实例
Feb 01 Javascript
Jquery和CSS实现选择框重置按钮功能
Nov 08 jQuery
jqGrid表格底部汇总、合计行footerrow处理
Aug 21 Javascript
JS表格的动态操作完整示例
Jan 13 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+javascript模拟Matrix画面
2006/10/09 PHP
随时给自己贴的图片加文字的php代码
2007/03/08 PHP
PHP图片验证码制作实现分享(全)
2012/05/10 PHP
php连接oracle数据库及查询数据的方法
2014/12/29 PHP
PHP中的魔术方法总结和使用实例
2015/05/11 PHP
CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
2016/09/01 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
QQ邮箱的一个文本编辑器代码
2007/03/14 Javascript
在Javascript里访问SharePoint列表数据的实现方法
2011/05/22 Javascript
JQuery操作表格(隔行着色,高亮显示,筛选数据)
2012/02/23 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
2014/10/16 Javascript
浅析javascript的间隔调用和延时调用
2014/11/12 Javascript
JavaScript缓冲运动实现方法(2则示例)
2016/01/08 Javascript
jquery.validate 自定义验证方法及validate相关参数
2016/01/18 Javascript
jQuery常用知识点总结以及平时封装常用函数
2016/02/23 Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
2016/12/26 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
2017/12/11 jQuery
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
pyqt4教程之widget使用示例分享
2014/03/07 Python
python下os模块强大的重命名方法renames详解
2017/03/07 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
2018/10/18 Python
python字符串Intern机制详解
2019/07/01 Python
python lambda表达式在sort函数中的使用详解
2019/08/28 Python
Django xadmin开启搜索功能的实现
2019/11/15 Python
使用HTML5和CSS3表单验证功能
2017/05/05 HTML / CSS
浅析HTML5 Landmark
2020/09/11 HTML / CSS
波兰在线体育用品商店:Hop-Sport.pl
2019/07/23 全球购物
四年的个人工作自我评价
2013/12/10 职场文书
幼儿园毕业家长感言
2014/02/10 职场文书
《雪地里的小画家》教学反思
2014/02/22 职场文书
募捐倡议书怎么写
2014/05/14 职场文书
2014年入党积极分子学习三中全会思想汇报
2014/09/13 职场文书
收款授权委托书
2014/10/02 职场文书
大学生创业计划书
2019/06/24 职场文书
详解Python+OpenCV绘制灰度直方图
2022/03/22 Python