Animate Images/Icons in JavaScript using jQuery animate function - The Class method

Using jQuery Animate function to animate icons when clicked. Using Classes as the target element(s).

HTML

<script src="//code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<link rel="stylesheet" href="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
<script src="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<div class="container">
  <h2>Animate Images/Icons in JavaScript using jQuery animate function - The Class method<small><small><a class="btn btn-link btn-sm undo" role="button" href="#"><i class="fa fa-undo"></i></a></small></small>
  </h2>
  <small>Click on arrow icons to animate. Click the reset icon to reset icons.</small>
  <section class="example-animates">
    <div class="d-flex justify-content-center"><i class="fa fa-arrow-left fa-3x animate left"></i></div>
    <div class="d-flex justify-content-center"><i class="fa fa-arrow-right fa-3x animate right"></i></div>
  </section>
</div>

CSS

.example-animates {
  overflow: hidden;
  margin-bottom: 1rem;
}

.example-animates i {
  position: relative;
  cursor: pointer;
}

JavaScript

$(".animate").click(function() {
  var $this = $(this);
  var $animLeft = $this.hasClass("left");
  var $animRight = $this.hasClass("right");
  if ($animLeft) {
    $(this).animate({
      "left": "-=50px"
    }, "slow");
  } else if ($animRight) {
    $(this).animate({
      "left": "+=50px"
    }, "slow");
  }
});

$(".undo").click(function(t) {
  t.preventDefault();
  $(this);
  $(".example-animates").find(".fa").css("left", 0);
});