Disable button on 5 seconds

by webgleb

HTML

<div id="banner-message">
  <p>Hello World</p>
  <button id="button_id">Submit</button>
</div>

CSS

body {
  background: #20262E;
  padding: 20px;
  font-family: Helvetica;
}

#banner-message {
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  font-size: 25px;
  text-align: center;
  transition: all 0.2s;
  margin: 0 auto;
  width: 300px;
}

button {
  background: #0084ff;
  border: none;
  border-radius: 5px;
  padding: 8px 14px;
  font-size: 15px;
  color: #fff;
}

#banner-message.alt {
  background: #0084ff;
  color: #fff;
  margin-top: 40px;
  width: 200px;
}

#banner-message.alt button {
  background: #fff;
  color: #000;
}

button:disabled,
button[disabled]{
  background: rgba(0, 132, 255, 0.5);
  color: #666666;
}

JavaScript

// Когда нажали на кнопку #button_id
$(document).on('click', '#button_id', function(){

	var element_id = $(this);
  
	// Установим атрибут на кнопку disabled
	$(element_id).attr('disabled', 'disabled');
  $(element_id).html('Loading...');

	// Через 5 секунд уберем этот атрибут
	setTimeout(function(){
		$(element_id).removeAttr('disabled');
    $(element_id).html('Submit');
	}, 5000); // Время в милисекундах

});