2014-01-11 36 views
0
$('.shutter').bind("click", function() { 
    $(".expander").slideToggle("800", "easeOutCubic"); 
}); 

,但如果我不希望擴展的height= 0;集膠印是jQuery的切換滑動

如果我想height = 20px(偏移量)將向上滑動後,所以我的問題是,是否有任何可能的方式來在toggleSlide方法或其他替代方法中設置偏移量?像:

$('.shutter').bind("click", function() { 
    $(".expander").slideToggle{20, ("800", "easeOutCubic")}; 
}); 

我知道上面的例子是不是正確的,但它只是一個例子來告訴你我想要什麼..

回答

1

對於slideToggle後申請height: 20px;,添加一個回調:

$('.shutter').bind("click", function() { 
     $(".expander").slideToggle("800", "easeOutCubic", function() { 
      $(this).css({'height':'20px'}); 
    }); 
}); 

UPDATE:後評論,你已經使用了easeOutCubic不當,而不是用它想:

$('.shutter').bind('click', function() { 
    if($('.expander').attr('style') == 'height: 20px;') { 
     $('.expander').animate({'height':'200px'}, 800); 
    } else { 
     $('.expander').animate({'height':'20px'}, 800); 
    } 
}); 

這裏有一個JSFiddle

+0

不工作.... – Faizan

+0

什麼是不工作?這將在幻燈片切換完成後應用高度爲20px的CSS樣式。如果這不是你想要的,請更改你的問題以使其更清楚。 – Enijar

+0

這不符合你的想法,沒有設置高度後滑動,如果你仍然認爲它應該工作,然後提供JsFiddle示例 – Faizan

0

你可以動畫的高度,而不是使用slideToggle()方法:

jsFiddle

$('.shutter').bind('click', function() { 
    var $expander = $('.expander'); 
    $expander.finish().animate({ 
     height: $expander.height() === 200?20:200 
    }, '800',"easeOutCubic"); 
});