JSFiddle - React, Tailwind, and code Playground

by anpsmn

HTML

<h1>Incredibly Basic Slider</h1>

<div id="slider"> <a href="#" class="control_next">></a>
 <a href="#" class="control_prev"><</a>

    <ul>
        <li>
            <img src="http://placehold.it/1130x775">
        </li>
        <li>
            <img src="http://placehold.it/1130x775">
        </li>
        <li>
            <img src="http://placehold.it/1130x775">
        </li>
        <li>
            <img src="http://placehold.it/1130x775">
        </li>
    </ul>
</div>

CSS

@import url(http://fonts.googleapis.com/css?family=Open+Sans:400, 300, 600);
 html {
    border-top: 5px solid #fff;
    background: #58DDAF;
    color: #2a2a2a;
}
html, body {
    margin: 0;
    padding: 0;
    font-family:'Open Sans';
}
h1 {
    color: #fff;
    text-align: center;
    font-weight: 300;
}
#slider {
    position: relative;
    overflow: hidden;
    margin: 20px auto 0 auto;
    border-radius: 4px;
}
#slider ul {
    position: relative;
    margin: 0;
    padding: 0;
    height: 200px;
    list-style: none;
}
#slider ul li {
    position: relative;
    display: block;
    float: left;
    margin: 0;
    padding: 0;
    height: 100%;
    background: #ccc;
    text-align: center;
    line-height: 300px;
}
#slider ul li img {
    max-width: 100%;
    max-height: 100%;
}
a.control_prev, a.control_next {
    position: absolute;
    top: 40%;
    z-index: 999;
    display: block;
    padding: 4% 3%;
    width: auto;
    height: auto;
    background: #2a2a2a;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 18px;
    opacity: 0.8;
    cursor: pointer;
}
a.control_prev:hover, a.control_next:hover {
    opacity: 1;
    -webkit-transition: all 0.2s ease;
}
a.control_prev {
    border-radius: 0 2px 2px 0;
}
a.control_next {
    right: 0;
    border-radius: 2px 0 0 2px;
}
.slider_option {
    position: relative;
    margin: 10px auto;
    width: 160px;
    font-size: 18px;
}

JavaScript

jQuery(document).ready(function ($) {

    setConfig();

    setInterval(function () {
        moveRight();
    }, 3000);





    $(window).resize(function () {
        setConfig();
    });

});
var slideCount, slideWidth, slideHeight, sliderULWidth;
function setConfig() {
    $('#slider ul li').css({
        "width": ($(document).width() - 200), "height":$(document).height()-200
    });

    slideCount = $('#slider ul li').length;
   slideWidth = $('#slider ul li').width();
     slideHeight = $('#slider ul li').height();
    sliderUlWidth = slideCount * slideWidth;

    $('#slider').css({
        width: slideWidth,
        height: slideHeight
    });


    $('#slider ul').css({
        width: sliderUlWidth,
        marginLeft: -slideWidth
    });

    $('#slider ul li:last-child').prependTo('#slider ul');


    $('a.control_prev').on('click',function () {
        moveLeft();
    });

    $('a.control_next').on('click',function () {
        moveRight();
    });
}

function moveLeft() {
    $('#slider ul').animate({
        left: +slideWidth
    }, 200, function () {
        $('#slider ul li:last-child').prependTo('#slider ul');
        $('#slider ul').css('left', '');
    });
}

function moveRight() {
    $('#slider ul').animate({
        left: -slideWidth
    }, 200, function () {
        $('#slider ul li:first-child').appendTo('#slider ul');
        $('#slider ul').css('left', '');
    });
}