jquery - 编辑带有动画效果的 Css

标签 jquery css slidedown

我有一个绝对位置的 div,默认的“top”值设置为“-200px”。 当我点击 div 时,“顶部”值更新为“0”。这样我就看到了整个 Div。

这是js:

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

有没有办法通过动画实现这个结果?比如下滑效果?

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

最佳答案

当然。使用 .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 文档:

关于jquery - 编辑带有动画效果的 Css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3030337/

相关文章:

javascript - 相同的动态 JS 函数处理不同的对象

javascript - 根据条件弹出并填充 Bootstrap 模式内容

javascript - 水平翻转html网页而不是文本

javascript - 从根本上来说,函数调用出了问题。函数在控制台中运行

javascript - 编辑列表中每个 div 的样式属性

鼠标快速悬停时 jQuery 滑动菜单的抖动行为

html - 将 flex 元素的内容对齐到底部

css - 删除 Vuetify v-app-bar 上的默认填充

悬停时使用向上滑动和向下滑动的 JQuery 下拉菜单是跳跃式的

javascript - jQuery .fadeIn() 工作但 .slideDown() 和 .animate() 不工作