1
imgSlideEvent();
function imgSlideEvent(){
var slider = document.querySelector('.img-slider');
var img = document.querySelectorAll('.img-slider > img');
var left = document.querySelector('.left-btn');
var right = document.querySelector('.right-btn');
left.addEventListener('click',function(){
let first = document.querySelector('.img-slider > img');
slider.appendChild(first);
});
right.addEventListener('click',function(){
var last = document.querySelector('.img-slider > img:last-child');
slider.insertBefore(last,document.querySelector('.img-slider > img'));
});
}
*{
margin: 0;
padding: 0;
outline: none;
border:none;
background-color: transparent;
}
body{
max-width: 100vw;
min-height: 300vh;
}
header{
display: flex;
justify-content: center;
}
section{
display: flex;
justify-content: center;
}
.dir-col{
flex-direction: column;
justify-content: space-between;
align-items: center;
}
.left-btn, .right-btn{
position: absolute;
width: 50px;
height: 80px;
background-color: rgba(0,0,0,0.4);
top: 0;
bottom: 0;
margin: auto;
cursor: pointer;
}
.left-btn{
left: -70px;
}
.left-btn > span, .right-btn > span{
display: inline-block;
position: absolute;
top:0;
bottom:0;
left: 0;
right: 0;
margin: auto;
width: 20px;
height: 20px;
border-top: 2px solid white;
border-left: 2px solid white;
}
.left-btn > span{
transform:rotate(-45deg) translate(3px, 3px);
}
.right-btn > span{
transform:rotate(135deg) translate(3px, 3px);
}
.right-btn{
right: -70px;
}
.img-slider{
width: 1044px;
font-size: 0;
overflow: hidden;
white-space: nowrap;
}
.img-slider > img{
margin: 0 10px;
transition: all 1s;
animation: create 1s;
}
@keyframes create{
0%{
opacity: 0;
transform: translateX(50px);
}
100%{
opacity: 1;
transform: translateX(0px);
}
}
<section class="dir-col" style="padding-bottom: 150px;padding-top: 100px;">
<section style="position: relative;">
<button class="left-btn"><span></span></button>
<div class="img-slider">
<img src="https://i.imgur.com/QLlXuyU.jpg" />
<img src="https://i.imgur.com/Ugq9d3S.jpg" />
<img src="https://i.imgur.com/deqBfhh.jpg" />
<img src="https://i.imgur.com/deqBfhh.jpg" />
</div>
<button class="right-btn"><span></span></button>
</section>
</section>
私は、コードについては上記を参照、バニラJSでImage Slider
を作りました。
ただし、問題があります。
ボタンをクリックすると、すべての画像がアニメーションとともに移動する必要があります。
しかし、意図したとおりに動作していません。単一の要素(新しい要素)だけが動作していますが、アニメーション化されているものはありません。
すべての要素がアニメーション化されていることを確認するにはどうすればよいですか?
ありがとうございました – zynkn