JSFiddle - React, Tailwind, and code Playground

New App Banner

by DugSohn

HTML

<script src="http://code.jquery.com/ui/jquery-ui-git.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.0.1/tinymce.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="jquery.sidr.light.js"></script>
<link rel="stylesheet" href="https://dl.dropboxusercontent.com/s/nd1mexyy0xevhv5/6fdc3a856a26e706a3edad566422a903.css?dl=0/6fdc3a856a26e706a3edad566422a903.css?yakabox-vne-5.21.4-1">
<script src="https://rawgit.com/desandro/masonry/v2.1.08/jquery.masonry.js"></script>
<br><br>
<div class="container">
  <div class="row">
    <div class="col-xs-12">

      <h2>
        Button With Success
      </h2>
      <p>
      If button remains visible it highlghts, or if object in succe
      </p>
      <br>
    </div>
    <div class="col-xs-4">

      <button class="btn btn-block btn-default success-loadey" data-toggle="tooltip">
    <i class="fa fa-fw"></i> <span class="btn-label">Button Label</span>
    </button>
    </div>

  </div>
</div>
<br><br>
<div class="container">
  <div class="row">
    <div class="col-xs-12">

      <h2>
        Button With Slow Load
      </h2>
      <br>
    </div>
    <div class="col-xs-4">

      <button class="btn btn-block btn-default slow-loadey" data-toggle="tooltip">
    <i class="fa fa-fw"></i> <span class="btn-label">Button Label</span>
    </button>
    </div>

  </div>
</div>
<br><br>
<div class="container">
  <div class="row">
    <div class="col-xs-12">

      <h2>
        Button With Error
      </h2>
      <br>
    </div>
    <div class="col-xs-4">

      <button class="btn btn-block btn-default no-loadey" data-toggle="tooltip">
    <i class="fa fa-fw"></i> <span class="btn-label">Button Label</span>
    </button>
 ...

SCSS

$account-base:  rgba(6,81,128,1.0)       !default;
$plans-base:    rgba(254,162,32,1.0)     !default;
$payment-base:  rgba(46,177,52,1.0)      !default;
$control-base:  rgba(27,141,205,1.0)     !default;
$footer-base:   rgba(231,231,231,1.0)    !default;
$dark-base:     rgba(10,10,10,1.0)       !default;
$highlight-row:  rgba(241,240,207, 0.8) !default;

@import url('https://fonts.googleapis.com/css?family=Open+Sans');


* {
font-family:  "Open Sans", "Segoe UI", Tahoma, sans-serif
}
.btn {
   border-radius: 2px;
   text-transform: uppercase;
 
}
.fa {
  margin-left:-20px;
}

.btn-default {
    color: #fff;
    background-color: rgba(46,177,52,1.0);
    border-color: rgba(46,177,52,1.0);
 }
  
.btn-default:hover, .btn-default:focus {
    color: #fff;
    background-color: #47a447;
    border-color: #398439;
 }

 
 .btn-warning {
    color: #fff;
    background-color:  rgba(254,162,32,1.0)!important ;
    border-color:  rgba(254,162,32,1.0)important;
 }
  
.btn-success:hover, .btn-success:focus {
    color:  rgba(46,177,52,1.0);
    background-color: #fff;
    border-color:  rgba(46,177,52,1.0);
 }
 
 
 .btn-success {
    color:  rgba(46,177,52,1.0);
    background-color: #fff;
    border-color: rgba(46,177,52,1.0);
 }
  
.btn-success:hover, .btn-success:focus {
    color:  rgba(46,177,52,1.0);
    background-color: #fff;
    border-color:  rgba(46,177,52,1.0);
 }
 
 .btn-danger {
    color:  #fff;
    background-color: red;
    border-color: red;
 }
  
.btn-danger:hover, .btn-danger:focus {
    color: #fff;
    background-color: red;
    border-color:  red;
 }

JavaScript

$('[data-toggle="tooltip"]').tooltip();

    $('.success-loadey').click(function() {
      $(this).removeClass('btn-success').find('.fa-fw').addClass('fa-spin fa-circle-o-notch');


      var $el = $(this);
      setTimeout(function() {

        $el.find('.fa-fw').removeClass('fa-spin fa-circle-o-notch').addClass('fa-check');
        $el.addClass('btn-success');
        $el.find('.btn-label').html('Successfully Changed');

}, 4000);


});



    $('.slow-loadey').click(function() {
      $(this).removeClass('btn-success btn-warning').find('.fa-fw').addClass('fa-spin fa-circle-o-notch');

      var $el = $(this);
      setTimeout(function() {

        $(this).find('.btn-label').html("Please Wait");

        $el.prop('title', 'This is taking a bit long');
        $el.addClass('btn-warning');
      }, 5000);

      setTimeout(function() {
        $el.prop('title', '');

        $el.find('.fa-fw').removeClass('fa-spin fa-circle-o-notch').addClass('fa-check');
        $el.addClass('btn-success').removeClass('btn-warning');
      }, 10000);

    });


    $('.no-loadey').click(function() {
      $(this).removeClass('btn-danger').find('.fa-fw').addClass('fa-spin fa-circle-o-notch');

      var $el = $(this);
      setTimeout(function() {

        $el.find('.fa-fw').removeClass('fa-spin fa-circle-o-notch').addClass('fa-warning');
        $el.addClass('btn-danger');
        $el.parent().find('small').show();
      }, 4000);

    });



    $('.btn-error').click(function() {
      $('.no-loadey').removeClass('btn-danger').find('.fa-fw').removeClass('fa-warning').addClass('fa-spin fa-circle-o-notch');
      $('.no-loadey').next().hide();

      var $el = $(this);
      setTimeout(function() {

        $('.no-loadey').find('.fa-fw').removeClass('fa-spin fa-circle-o-notch').addClass('fa-check');
        $('.no-loadey').addClass('btn-success');
      }, 4000);

    });