码迷,mamicode.com
首页 > 其他好文 > 详细

我写的一个手风琴效果

时间:2014-11-26 18:48:47      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   sp   on   div   

先看demo

body, dl, dd, ul, li { margin: 0; padding: 0 }
dl { width: 500px; margin: 0 auto; overflow: hidden }
dt { border-radius: 10px; background: gray; color: #FFF; padding: 10px; margin: 2px 0; cursor: default; transition: background 1s }
dd { border-radius: 10px; padding: 0 20px; background: #eee; height: 0; overflow: hidden; }
dt:hover { background: #bbb }
dd.first { height: auto }
ul { list-style: none }
<dl id="test1">
  <dt>导航1</dt>
  <dd class="first">
    <ul>
      <li>111111</li>
      <li>111111</li>
      <li>111111</li>
    </ul>
  </dd>
  <dt>导航2</dt>
  <dd>
    <ul>
      <li>222222</li>
      <li>222222</li>
      <li>222222</li>
    </ul>
  </dd>
  <dt>导航3</dt>
  <dd>
    <ul>
      <li>3333333</li>
      <li>3333333</li>
      <li>3333333</li>
    </ul>
  </dd>
  <dt>导航4</dt>
  <dd>
    <ul>
      <li>4444444</li>
      <li>4444444</li>
      <li>4444444</li>
    </ul>
  </dd>
  <dt>导航5</dt>
  <dd>
    <ul>
      <li>5555555</li>
      <li>5555555</li>
      <li>5555555</li>
    </ul>
  </dd>
  <dt>导航6</dt>
  <dd>
    <ul>
      <li>6666666</li>
      <li>6666666</li>
      <li>6666666</li>
    </ul>
  </dd>
</dl>
(function($){
    $.fn.sfq=function(options){
        var defaults={
            width:500
            },
        options=$.extend(defaults,options);
        var $sfq=$(this);
            $sfq.width(options.width);
        var dt=$sfq.children("dt");
        var dd=$sfq.children("dd");
        dt.hover(function(){
            var index=dt.index(this);
            this.timer=setTimeout(function(){
                var dHeight=dt.eq(index).next().find("ul").height();
                dt.eq(index).next().animate({"height":dHeight},500)
                  .siblings("dd").animate({"height":"0px"},500);
            },300);
        },function(){
            clearTimeout(this.timer)
        })
    }
})(jQuery)

$(function(){
    $("#test1").sfq({"width":"300"})
})

 需要方法连缀的话就在闭包中给个返回值 return this

我写的一个手风琴效果

标签:style   blog   http   io   ar   color   sp   on   div   

原文地址:http://www.cnblogs.com/liujin0505/p/4123805.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!