使用动画效果编辑Css

时间:2010-06-12 22:31:05

标签: jquery css slidedown

我在绝对位置有一个div,默认的“top”值设置为“-200px”。 当我点击div时,“top”值更新为“0”。通过这种方式,我看到整个Div。

这是js:

$(document).ready(function(){
  $("#search_bar").click(function () {
    $(this).css("top","0");
  });
});

有没有办法实现这个结果,但有动画?例如,下滑效果?

此外,当我再次点击div时,我希望“top”值将恢复为“-200px”。

1 个答案:

答案 0 :(得分:3)

当然。使用.animate()方法。而不是click事件,请使用toggle,它接受​​前/后两个函数。

直播示例: http://jsfiddle.net/a86tm/1/

$(document).ready(function(){

  $("#search_bar").toggle(  // toggle() takes 2 functions
      function () {
          $(this).animate({top: 0}, 500);  // Use animate() to animate the transition.
      },                                   // The 500 argument is the duration.
      function() {
          $(this).animate({top: -200}, 500);
      }
  );

});​

jQuery docs: