JSFiddle - React, Tailwind, and code Playground

HTML

<head>
<meta charset="utf-8">
	 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="test.css">
</head>
<body>
<div class='viewport'>
    <ul class='slidewrapper' data-current=0>
        <li class='slide'>
            Slide 1
        </li>
        <li class='slide second'>
            Slide 2
        </li>
        <li class='slide third'>
            Slide 3
        </li>
    </ul>
    <a href="javascript: void(0)" id="prev_slide" class="arrows">←</a>
    <a href="javascript: void(0)" id="next_slide" class="arrows">→</a>
</div>


<script type="text/javascript" src="test.js"></script>
</body>

CSS

.viewport{
    width: 300px;
    height: 100px;
    overflow: hidden;
    position: relative;
}
.slidewrapper{
    position: absolute;
    left: 0;
    top: 0;
    height: 100px;
    margin: 0;
    padding: 0;    
}
.slide{
    width: 300px;
    height: 100px;
    float: left;
    list-style: none;
    margin: 0;
    padding: 0;
    background: #ff0000;
}
.second{
     background: #00ff00;   
}
.third{
     background: #0000ff;   
}
#prev_slide
{
position: absolute;
top: 40px;
left: 0;
height: 100%;
}
#next_slide
{
position: absolute;
top: 40px;
right: 0;
height: inherit;  
}

JavaScript

var slideWidth=300;
var sliderTimer;
$(function(){
$('.slidewrapper').width($('.slidewrapper').children().size()*slideWidth);
    sliderTimer=setInterval(nextSlide,10000);
    $('.viewport').hover(function(){
        clearInterval(sliderTimer);
    },function(){
        sliderTimer=setInterval(nextSlide,10000);
    });
    $('#next_slide').click(function(){
        clearInterval(sliderTimer);
        nextSlide();
        sliderTimer=setInterval(nextSlide,10000);
    });
    $('#prev_slide').click(function(){
        clearInterval(sliderTimer);
        prevSlide();
        sliderTimer=setInterval(nextSlide,10000);
    });
});

function nextSlide(){
    var currentSlide=parseInt($('.slidewrapper').data('current'));
    currentSlide++;
    if(currentSlide>=$('.slidewrapper').children().size())
    {
        currentSlide=0;   
    }
    $('.slidewrapper').animate({left: -currentSlide*slideWidth},1500).data('current',currentSlide);
}
function prevSlide(){
    var currentSlide=parseInt($('.slidewrapper').data('current'));
    currentSlide--;
    if(currentSlide<0)
    {
        currentSlide=$('.slidewrapper').children().size()-1;   
    }
    $('.slidewrapper').animate({left: -currentSlide*slideWidth},1500).data('current',currentSlide);
}