javascript - 每次按下按钮时都会重新创建相同的动画。 Angular.js

标签 javascript css angularjs

我有一个在单击按钮时执行的动画。我希望每次单击此按钮时都会出现此动画。我怎样才能实现它?

http://jsfiddle.net/8jmnpn2u/2/

  <div id='div1'></div>
  <br>
  <button ng-click='show()'>show</button>

  $scope.show= function(){
    document.getElementById('div1').classList.add('animate');
  }


  div{
   display:inline-block;
   background:yellow;
   width:250px;
   height: 250px;
   transition: all linear 1s;
   opacity:0;
  }

  div.animate{
   opacity:1;
  }

最佳答案

由于动画使用 CSS 并在 JavaScript 添加 animate 类时应用,因此您需要删除该类,可能要等待动画淡出,然后重新添加该类.

您只需首先将函数修改为 .remove('animate') ,然后将 .add('.animate') 行放在 'setTimeout 内()' 函数根据需要:

$scope.show= function(){
  document.getElementById('div1').classList.remove('animate');
  setTimeout( function(){ document.getElementById('div1').classList.add('animate'); }, 2000); 
};

关于javascript - 每次按下按钮时都会重新创建相同的动画。 Angular.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43729733/

相关文章:

javascript - 使用 AnythingSlider 滑动背景

javascript - 使用 Angularjs 直接从 Controller 打开模板文件

javascript - 为什么我对 web.api 的请求被长时间运行的 Controller 代码阻止?

javascript - 如何在 D3.js 中应用旋转变换而不改变坐标系?

css - 应用样式输入 :active . className?

javascript - 如何使用 javascript 检查单选按钮是否被选中

css - 在 wordpress 中,我试图修改搜索按钮的 CSS,但更改未生效

javascript - 两个带有 ngHide 的切换元素瞬间在屏幕上闪烁

javascript - meteor :RangeError:超出最大调用堆栈大小

javascript - 如何修复不需要的侧滚动条?