Angular animations: on click

I have a problem animating some elements in my Angular app. There is a grid made up of cells (generated with ng-repeat). What I want to do is create a simple animation: when clicked, the cell should fade out (like a fadeOut effect) and reappear after a while.

I managed to make a fadeOut effect after this tutorial

Here is the code that controls the cells:

      <div class="col col-20 cell" style="background-image:url('img/gray.png')">
          <img class="cell-img" ng-src="{{cells[$index].getSrc()}}" width="100%" ng-click="click(cells[$index])" cell-click/>
       </div>
      <div class="col col-20 cell" style="background-image:url('img/gray.png')">
          <img class="cell-img" ng-src="{{cells[$index + 1].getSrc()}}" width="100%" ng-click="click(cells[$index + 1])" cell-click/>
      </div>
      <div class="col col-20 cell" style="background-image:url('img/gray.png')">
          <img class="cell-img" ng-src="{{cells[$index + 2].getSrc()}}" width="100%" ng-click="click(cells[$index + 2])" cell-click/>
      </div>
      <div class="col col-20 cell" style="background-image:url('img/gray.png')">
          <img class="cell-img" ng-src="{{cells[$index + 3].getSrc()}}" width="100%" ng-click="click(cells[$index + 3])" cell-click/>
      </div>
      <div class="col col-20 cell" style="background-image:url('img/gray.png')">
          <img class="cell-img" ng-src="{{cells[$index + 4].getSrc()}}" width="100%" ng-click="click(cells[$index + 4])" cell-click/>
      </div>
    </div>

      

app.controller("Control", function($scope, $interval, ...){
  $scope.click = function(cell){
    if($scope.gameStarted){
      if(cell.isActive){
        if(colorOk){
          // ...
        }
        else{
          // ...
        }
      }
    }
  }
}

      

+3


source to share


1 answer


You can use $ timeout to make the cell reappear after a while after you hide it.

Something like:



$timeout(function () {
    //code to make the cell appear/show the cell (maybe by removing ng-hide class)
  }, 1000);

      

0


source







All Articles