轻松实现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);
      }); 

    }); 

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

(0)

相关推荐

  • jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单

    先给大家看下效果图,效果图展示如下: 关键代码如下所示: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>首页</title> &l

  • 基于Jquery代码实现手风琴菜单

    先给大家展示效果图: 先看页面代码,列表的嵌套: <div id="menuDiv"> <ul id="menu"> <li class="parentLi"> <span>B</span> <ul class="childrenUl"> <li class="childrenLi"><span>C</sp

  • Jquery组件easyUi实现手风琴(折叠面板)示例

    本文是为大家分享了Jquery easyUi手风琴效果,供大家参考,具体内容如下 效果图: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Basic Accordion - jQuery EasyUI Demo</title> <link rel="stylesheet" type="text/css&qu

  • jquery实现手风琴效果

    本文实例讲述了jquery实现手风琴效果的代码.分享给大家供大家参考.具体如下: 效果过程就是当鼠标覆盖图片时,这张图片的宽度变大,其他兄弟图片宽度变小,效果如下: 具体代码如下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=&qu

  • 基于jQuery实现图片推拉门动画效果的两种方法

    ''推拉门''动效也可以称作"手风琴"效果,大多数效果实现的思路基本是一样的,下面介绍两种方法,一种是通过改变图片的偏移位置实现移动,另一种是通过遍历背景图片后改变图片的宽度实现变换. 实现方法一:改变图片宽度 html+css代码 <body> <div class="box"> <ul> <!-- <li>![](images/slidepic2.jpg)</li> --> <li&g

  • 轻松实现jquery手风琴效果

    为大家讲解的JQuery动画特效为手风琴,废话不多说,先看最终实现效果图. 一.实现原理分析 对应的立体图: 二. HTML代码分析 <body> <div id="container"> <ul id="content"> <li class="first"> <h3>真</h3> <div><img src="images/0.jpg"

  • 让人印象深刻的10个jQuery手风琴效果应用

    今天这篇文章向大家展示10个非常酷的应用 jQuery 手风琴(according)效果网站,一起欣赏. 1. Unowhy 2. Helloewy 3. Djafar Inal 4. Made by Elephant 5. Engage Interactive 6. Jaboh 7. Nerve Music Store 8. Loewy Design 9. Alex Cohaniuc 10. EyeDraw 作者:山边小溪

  • 简单实现jQuery手风琴效果

    本文实例为大家分享了jQuery实现手风琴效果的具体代码,供大家参考,具体内容如下 js代码: <script type="text/javascript" src="jquery-3.0.0.js"></script> <script type="text/javascript"> $(function() { //获取所有li遍历 $(".li_list").each(function(

  • 精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程

    当你想在有限的页面空间内展示多个内容片段的时候,手风琴(Accordion)效果就显得非常有用,它可以帮助你以对用户非常友好的方式实现多个内容片段之间的切换.借助流行的 jQuery 框架,只需很少的代码就可以实现精美的手风琴效果,帮助你的网站吸引更多用户的眼球. Elegant Accordion with jQuery and CSS3 首先推荐的这款插件是基于 jQuery 和 CSS3 实现的优雅的鼠标悬停手风琴效果. 制作教程 在线演示 Vertical Sliding Accordi

  • jQuery实现的简单手风琴效果示例

    本文实例讲述了jQuery实现的简单手风琴效果.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>www.jb51.net jQuery手风琴效果</title> <style> .wrap{ width: 200px;height: auto;margin:5

  • jquery实现手风琴效果实例代码

    复制代码 代码如下: //jquery实现手风琴效果  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml">  <head>  <

  • js以及jquery实现手风琴效果

    最近又复习了jQuery的知识,既然jQuery是javascript的一个库.jQuery能做到的事情javascript也能做到.因此用这两种方法实现了图片手风琴效果. 按照惯例,还是上代码吧,因为代码里有我的注释也就相当于解释了!(^__^) 嘻嘻-- 先看一下javascript的代码吧: div布局:注意哦,里面的图片我们用js代码生成 <div id="box"> <ul> <li></li> <li></l

  • jquery超简单实现手风琴效果的方法

    本文实例讲述了jquery超简单实现手风琴效果的方法.分享给大家供大家参考.核心代码如下: $("#accordion .expanded").hide(); $("a.opening").click(function(){ $(this).next().slideToggle('fast', function(){ $(this).prev("a.opening").toggleClass("active"); }); re

  • JQuery+EasyUI轻松实现步骤条效果

    EasyUI 简介 easyui是一种基于jQuery的用户界面插件集合. easyui为创建现代化,互动,JavaScript应用程序,提供必要的功能. 使用easyui你不需要写很多代码,你只需要通过编写一些简单HTML标记,就可以定义用户界面. easyui是个完美支持HTML5网页的完整框架. easyui节省您网页开发的时间和规模. easyui很简单但功能强大的. jQuery EasyUI 提供易于使用的组件,它使 Web 开发人员能快速地在流行的 jQuery 核心和 HTML5

随机推荐