JSFiddle - React, Tailwind, and code Playground

by WilsonPage

HTML

<ul>
<li data-spinner-delay='500'></li>
<li></li>
<li></li>
</ul>

CSS

li {
    padding: 20px;
    background: red;
    margin-bottom: 4px;
}

.is-loading::after {
    content: 'loading...'
}

JavaScript

$('li').on('click', function() {
   var
       
   btn = $(this),
    
   delay = Number(btn.data('spinner-delay')) || 0;

   setTimeout(function() {

       btn.addClass('is-loading'); 
        
   }, delay);
});