JSFiddle - React, Tailwind, and code Playground

by ululami

HTML

<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
		<div class="slideWrapper">
			<div class="slide">
				<ul class="slideInner">
					<li class="slide__item"><img src="https://placehold.jp/cc9999/cc9999/501x400.png"></li>
					<li class="slide__item"><img src="https://placehold.jp/5b27ee/5b27ee/501x400.png"></li>
					<li class="slide__item"><img src="https://placehold.jp/13d745/13d745/501x400.png"></li>
					<li class="slide__item"><img src="https://placehold.jp/de8c21/de8c21/501x400.png"></li>
				</ul>
			</div>
			<p class="slide__prev">
				戻る
			</p>
			<p class="slide__next">
				進む
			</p>
		</div>
    
    
    <div class="slideWrapper" style="margin-top:120px;">
			<div class="slide">
				<ul class="slideInner">
					<li class="slide__item"><img src="https://placehold.jp/cc9999/cc9999/501x400.png"></li>
					<li class="slide__item"><img src="https://placehold.jp/5b27ee/5b27ee/501x400.png"></li>
					<li class="slide__item"><img src="https://placehold.jp/13d745/13d745/501x400.png"></li>
					<li class="slide__item"><img src="https://placehold.jp/de8c21/de8c21/501x400.png"></li>
				</ul>
			</div>
			<p class="slide__prev">
				戻る
			</p>
			<p class="slide__next">
				進む
			</p>
		</div>

CSS

*{
	margin: 0;
	padding: 0;
}

img{
	vertical-align: bottom;
}

ul{
	list-style: none;
}

.wrapper{
	width: 1001px;
	margin: 0 auto;
}

.slideWrapper{
	width: calc(1001px/2);
}

.slide{
	width: 100%;
	height: 100%;
  overflow: hidden;
}

.slide__item{
	width: calc(1001px/2);
	float: left;
}

.slide__prev,
.slide__next{
	cursor: pointer;
	margin-top: 20px;
}

.slide__prev{
	float: left;
	margin-left: 40px;
}

.slide__next{
	float: right;
	margin-right: 40px;
}

JavaScript

$(function(){

	$('.slideInner').css('width',(1001/2)*$('.slideInner .slide__item').size()+'px');
	$('.slideInner .slide__item:last').prependTo('.slideInner');
	$('.slideInner').css('margin-left',-1001/2+'px');


	$('.slide__prev').click(function(){
		$('.slideInner').animate({
			marginLeft : parseInt($('.slideInner').css('margin-left'))+1001/2+'px'
		},500,'swing',
		function(){
			$('.slideInner').css('margin-left',-1001/2+'px');
			$('.slideInner .slide__item:last').prependTo('.slideInner');
		});
	});

	$('.slide__next').click(function(){
		$('.slideInner').animate({
			marginLeft : parseInt($('.slideInner').css('margin-left'))-1001/2+'px'
		},500,'swing',
		function(){
			$('.slideInner').css('margin-left',-1001/2+'px');
			$('.slideInner .slide__item:first').appendTo('.slideInner');
		});
	});

});