Кнопка перехода в цвет с btn-primary на btn-success - PullRequest
2 голосов
/ 27 апреля 2020

Я хочу, чтобы цветная кнопка btn-primary превратилась в цвет btn-success WHERE data-id = идентификатор клика.

Я не знал, как анимировать с помощью идентификатора клика. Пытался использовать $(".add_to_cart").parent('.change-style-after-click[data-id="'+id+'"]').animate({backgroundColor: '#28a745'}, 'slow');

Но это не сработало.

// HTML

<div class="change-style-after-click" data-id="30" bis_skin_checked="1"><a class="btn btn-primary w-100-pct add_to_cart" data-id="30">Add to Cart</a></div>

// Jquery

$(".add_to_cart").click(function(e){
var id = $(this).data('id');
$('.change-style-after-click[data-id="'+id+'"]').html("<a href='cart.php' class='btn btn-success w-100-pct'>Update Quantity</a>");
});

1 Ответ

2 голосов
/ 27 апреля 2020

Немного излишне, но вы можете использовать @keyframes для этого и просто обновить класс кнопки и внутренний текст:

$(".add_to_cart").click(function(e) {
  var id = $(this).data('id');
  var button = $('.change-style-after-click[data-id="' + id + '"] .btn')
  button.addClass("btn-success").text("Update Quantity");
});
.btn.btn-success {
  transition-duration: 2s;
  animation-name: colorTransition;
}

@keyframes colorTransition {
  from {
    background-color: #007bff !important;
  }
  to {
    background-color: #28a745 !important;
  }
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>

<div class="change-style-after-click" data-id="30" bis_skin_checked="1">
  <a class="btn btn-primary w-100-pct add_to_cart" data-id="30">Add to Cart</a>
</div>
...