jquery - 单击按钮时动画 marginTop

标签 jquery css

我是一个 Jquery 新手,我正在尝试通过在 #advBtn 被点击。

到目前为止,这是我的代码。

它动画向下但不向上。

$(document).ready(function(){
  $("#advBtn").click(function(){

    if($('.content').css({ marginTop: '0vh'})) {
    $(".content").animate({ marginTop: '10vh'}, 1000);
    }else{
      $(".content").animate({ marginTop: '0vh'}, 1000);
    };
  });
});

有人可以就此给我建议吗?

最佳答案

  1. marginTop 不是 margin-top 时使用
  2. 检查 px 而不是 vh

$(document).ready(function(){
  $("#advBtn").click(function(){
    if( $('.content').css('marginTop') == '0px' ) {
    $(".content").animate({ marginTop: '10vh'}, 1000);
    }else{
      $(".content").animate({ marginTop: '0vh'}, 1000);
    };
  });
});
.content{
margin-top: 0vh;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="content">content<div>
<button id="advBtn">animate</button>

关于jquery - 单击按钮时动画 marginTop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56147563/

相关文章:

javascript - 如何使用复选框启用/禁用数组中每行的文本框

javascript - 刷新页面时,应用于静态值的 CSS 样式消失。我们怎样才能防止这种情况发生?

javascript - 动态调整菜单大小的 scrollTop 函数

javascript - 背景淡入的 Bootstrap 模态

javascript - canviasjs 没有多次显示图表

jquery - 如何将 async/await 与 jquery ajax 一起使用?

javascript - 如何用视频标签替换标签

javascript - 单击特定行内的按钮时获取行值

javascript - 显示大内容(宽度)的 Fancybox3

css - Sizzle 选择器引擎有什么用?