JSFiddle - React, Tailwind, and code Playground

by kot_mapku3

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <div class="slider-box">
        <div class="slider">
            <img src="https://habrastorage.org/webt/dh/yd/hj/dhydhjaripged33h58th-5owuge.jpeg" alt="">

            <img src="https://habrastorage.org/webt/r3/po/hl/r3pohlfmzq_y_2gyh25pktgc1d4.jpeg" alt="">
            <img src="https://habrastorage.org/webt/lz/zt/3k/lzzt3kmplxqayfrr5mks48i94zq.jpeg" alt="">
            <img src="https://habrastorage.org/webt/pw/0t/fi/pw0tfiwpmcbajmhw8br3dq4yk2c.jpeg" alt="">
            <img src="https://habrastorage.org/webt/a3/x4/w6/a3x4w6qr6vclws9tjckdynybg6c.jpeg" alt="">
            <img src="https://habrastorage.org/webt/lg/qc/y9/lgqcy9zzt7s36vznrjql2i3n4hy.jpeg" alt="">
            <img src="https://habrastorage.org/webt/vn/qh/yv/vnqhyvvoc8ea8pw8qghk4qfflzs.jpeg" alt="">
            <img src="https://habrastorage.org/webt/dh/yd/hj/dhydhjaripged33h58th-5owuge.jpeg" alt="">

            <img src="https://habrastorage.org/webt/r3/po/hl/r3pohlfmzq_y_2gyh25pktgc1d4.jpeg" alt="">
        </div>
    </div>
</body>

</html>

CSS

* {
            margin: 0;
            padding: 0;
        }

        .slider-box {
            width: 1280px;
            height: 400px;
            overflow: hidden;
        }

        .slider {
            height: 400px;
        }

        img {
            width: 1280px;
            height: 400px;
            float: left;
        }

JavaScript

$(document).ready(function () {
            let imgCount = $('.slider img').length - 2;
            console.log('image count -> ' + imgCount);

            let sliderWidth = parseInt($('.slider-box').css('width'));
            console.log('slider width -> ' + sliderWidth);

            let direction = 1; // 1 - right, -1 - left

            $('.slider').css({
                'margin-left': -sliderWidth,
                'width': sliderWidth * (imgCount + 1)
            });

            setInterval(function keks() {
                let sliderMargin = parseInt($('.slider').css('margin-left'));
                console.log('slider margin -> ' + sliderMargin);

                if (sliderMargin == -sliderWidth * (imgCount) && direction > 0) {
                    sliderMargin = 0;
                    $('.slider').css('margin-left', sliderMargin);
                }
                else if (sliderMargin == 0 && direction < 0) {
                    sliderMargin = -sliderWidth * (imgCount);
                    $('.slider').css('margin-left', sliderMargin);
                }

                sliderMargin -= direction * sliderWidth;
                console.log('slider margin after animate -> ' + sliderMargin);
                $('.slider').animate({
                    'margin-left': sliderMargin
                }, 1000);

            }, 2000);

            $('.slider-box').click(function () {
                direction *= (-1);
                console.log(direction);
            });
        });