• 真

    律师站
    • 创业

    网络编程

    轻松实现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设计模式之中介者模式
    一、定义面向对象设计鼓励将行为分布到各个对象中,把对象划分成更小的粒度,有助于增强对象的可复用性。但由于这些细粒度对象之间的联系激增

    JavaScript提高性能知识点汇总
    一、针对js文件的加载位置在HTML文件中,script标签是可以加在head区域和body区域的。这里鉴于JavaScript执行和UI渲染的单线程原因,如果js文件载入会阻塞

    JavaScript焦点事件、鼠标事件和滚轮事件使用详解
    焦点事件一般利用这些事件与document.hasFocus()方法和document.activeElement属性配合。主要有:blur:元素失去焦点,不会冒泡;DOMFocusIn:同HTML事件focus,于DOM3

    利用Wireshark轻松学习Linux抓包技巧 (linux抓包 wireshark)
    Linux下如何使用HTTP进行文件下载和分享 (linux http 分享文件下载)
    Linux自动重启安装详解 (linux 安装自动重启)
    Linux系统免流上网攻略详细教程 (linux免流教程)
    轻松实现linux间互访,提高工作效率 (linux之间的访问)
    接口驱动在 Linux 中的应用(30字) (接口驱动 linux com)
    Linux中白色文件是什么?深入了解Linux文件管理 (linux中白色是什么文件)
    Linux无法解析PHP文件,如何解决(linux 不解析php)
    Linux系统设计与实施研究(linux设计报告)
    Linux防火墙设置:掌握有效命令护体安全(Linux设置防火墙命令)

     400-8888888 (9:00-18:00)

    gmail@qq.com

    © 祺平科技 • 版权所有

    粤ICP备15012827号-5
    www.zmcms.com