JSFiddle - React, Tailwind, and code Playground

HTML

<div class="container">
    
    <div class="folio_block">
        
        <div class="main_view">
            <div class="window">    
                <div class="image_reel">
                    <a href="http://www.designbombs.com/tag/slider/"><img src="http://i49.tinypic.com/33yrhwp.jpg" alt="" /></a>
                    <a href="http://www.designbombs.com/tag/slider/"><img src="http://i45.tinypic.com/33vbx1h.jpg" alt="" /></a>
                    <a href="http://www.designbombs.com/tag/slider/"><img src="http://i48.tinypic.com/206oh3c.jpg" alt="" /></a>
                    <a href="http://www.designbombs.com/tag/slider/"><img src="http://i48.tinypic.com/2zz2ufq.jpg" alt="" /></a>
                </div>
                <div class="descriptions">
                    <div class="desc">blah blah blah 1</div>
                    <div class="desc">blah blah blah 2</div>
                    <div class="desc">blah blah blah 3</div>
                    <div class="desc">blah blah blah 4</div>
                </div>
            </div>
            <div class="paging">
                <a href="#" rel="1">1</a>
                <a href="#" rel="2">2</a>
                <a href="#" rel="3">3</a>
                <a href="#" rel="4">4</a>
            </div>
        </div>
        <p style="color: #fff; margin: 10px 0; float: left; width: 100%;"><a href="http://www.sohtanaka.com/web-design/automatic-image-slider-w-css-jquery/" style="color: #fff; padding: 10px 0;">Automatic Image Slider with CSS &amp; jQuery</a> by Soh Tanaka</p>
    </div>    

</div>

CSS

body {
    background: #222;
    margin: 0; padding: 0;
    font: normal 10px Verdana, Arial, Helvetica, sans-serif;
}
*{outline: none;}
img {border: 0;}
.container {
    width: 790px;
    padding: 0;
    margin: 0 auto;
}
.folio_block {
    position: absolute;
    left: 50%; top: 50%;
    margin: -140px 0 0 -395px;
}


/*--Main Container--*/
.main_view {
    float: left;
    position: relative;
}
/*--Window/Masking Styles--*/
.window {
    height:286px;    width: 790px;
    overflow: hidden; /*--Hides anything outside of the set width/height--*/
    position: relative;
}
.image_reel {
    position: absolute;
    top: 0; left: 0;
}
.image_reel img {float: left;}

/*--Paging Styles--*/
.paging {
    position: absolute;
    bottom: 40px; right: -7px;
    width: 178px; height:47px;
    z-index: 100; /*--Assures the paging stays on the top layer--*/
    text-align: center;
    line-height: 40px;
    background: url(http://i45.tinypic.com/2nhdefq.png) no-repeat;
    display: none; /*--Hidden by default, will be later shown with jQuery--*/
}
.paging a {
    padding: 5px;
    text-decoration: none;
    color: #fff;
}
.paging a.active {
    font-weight: bold; 
    background: #920000; 
    border: 1px solid #610000;
    -moz-border-radius: 3px;
    -khtml-border-radius: 3px;
    -webkit-border-radius: 3px;
}
.paging a:hover {font-weight: bold;}

.desc {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 101;
    background: url(http://i45.tinypic.com/30w087b.png);
    color: #fff;
    font-size: 2em;
    padding: 10px;
     -moz-border-radius: 0 0 3px 0;
    -khtml-border-radius: 0 0 3px 0;
    -webkit-border-radius: 0 0 3px 0;
}

JavaScript

$(document).ready(function() {

    //Set Default State of each portfolio piece
    $(".paging").show();
    $(".paging a:first").addClass("active");
        
    //Get size of images, how many there are, then determin the size of the image reel.
    var imageWidth = $(".window").width();
    var imageSum = $(".image_reel img").size();
    var imageReelWidth = imageWidth * imageSum;
    
    //Adjust the image reel to its new size
    $(".image_reel").css({'width' : imageReelWidth});
    
    //Paging + Slider Function
    rotate = function(){    
        var triggerID = $active.attr("rel") - 1; //Get number of times to slide
        var image_reelPosition = triggerID * imageWidth; //Determines the distance the image reel needs to slide

        $(".paging a").removeClass('active'); //Remove all active class
        $active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)
        
        //Slider Animation
        $(".image_reel").animate({ 
            left: -image_reelPosition
        }, 500 );
        
    }; 
    
    //Rotation + Timing Event
    rotateSwitch = function(){        
        play = setInterval(function(){ //Set timer - this will repeat itself every 3 seconds
            $active = $('.paging a.active').next();
            if ( $active.length === 0) { //If paging reaches the end...
                $active = $('.paging a:first'); //go back to first
            }
            rotate(); //Trigger the paging and slider function
        }, 7000); //Timer speed in milliseconds (3 seconds)
    };
    
    rotateSwitch(); //Run function on launch
    
    //On Hover
    $(".image_reel a").hover(function() {
        clearInterval(play); //Stop the rotation
    }, function() {
        rotateSwitch(); //Resume rotation
    });    
    
    //slide up and down when hover over heading 2
    $(".window").hover(function(){
        // slide toggle effect set to slow you can set it to fast too.
        $(".desc").eq(...