JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<div id="slideshow">
    <div id="slidesContainer">
        <div class="slide a">a</div>
        <div class="slide b">b</div>
        <div class="slide c">c</div>
        <div class="slide d">d</div>
    </div>
</div>

CSS

.a {
    background-color: red;
}
.b {
    background-color: green;
}
.c {
    background-color: blue;
}
.d {
    background-color: yellow;
}

JavaScript

$(document).ready(function () {
    var currentPosition = 0;
    var slideWidth = 560;
    var slides = $('.slide');
    var numberOfSlides = slides.length;

    // Remove scrollbar in JS
    $('#slidesContainer').css('overflow', 'hidden');

    // Wrap all .slides with #slideInner div
    slides.wrapAll('<div id="slideInner"></div>')
    // Float left to display horizontally, readjust .slides width
    .css({
        'float': 'left',
            'width': slideWidth
    });

    // Set #slideInner width equal to total width of all slides
    $('#slideInner').css('width', slideWidth * numberOfSlides);

    // Insert controls in the DOM
    $('#slideshow')
        .prepend('<span class="control" id="leftControl">Clicking moves left</span>')
        .append('<span class="control" id="rightControl">Clicking moves right</span>');

    // Hide left arrow control on first load
    manageControls(currentPosition);

    // Create event listeners for .controls clicks
    $('.control').bind('click', function () {
        // Determine new position
        if ($(this).attr('id') == 'rightControl') {
            currentPosition = currentPosition >= slides.length - 1 ? 0 : currentPosition + 1;
        }
        else {
            currentPosition = currentPosition <= 0 ? slides.length - 1 : currentPosition - 1;
        }
        
        console.log(currentPosition);

        // Hide / show controls
        manageControls(currentPosition);
        // Move slideInner using margin-left
        $('#slideInner').animate({
            'marginLeft': slideWidth * (-currentPosition)
        });
    });

    // manageControls: Hides and Shows controls depending on currentPosition
    function manageControls(position) {
        // Hide left arrow if position is first slide
        if (position == 0) {
            $('#leftControl').hide()
        } else {
            $('#leftControl').show()
        }
        // Hide right arrow if position is last slide
        if (position ==...