<div class="box">
<img id="img" src="img/img-0.jpg" width="350" height="350">
<h4 id="name">사과 이름 0</h4>
<p id="txt">사과 설명 0</p>
<a href="#" class="btn prevBtn">Prev</a>
<a href="#" class="btn nextBtn">Next</a>
</div>
.box {
position: relative;
width: 500px;
padding: 50px;
background: #fff;
border-radius: 5px;
border: solid 1px black;
margin: 100px auto;
}
.btn {
position: absolute;
display: inline-block;
background: #cccccc;
padding: 10px;
color: #fff;
}
.prevBtn {
top: 50%;
left: 0;
transform: translate(-120%, -50%);
}
.nextBtn {
top: 50%;
right: 0;
transform: translate(120%, -50%);
}
var arr = [
{
img: "img/img-0.jpg",
name: "사과 이름 0",
txt: "사과 설명 0"
},
{
img: "img/img-1.jpg",
name: "사과 이름 1",
txt: "사과 설명 1"
},
{
img: "img/img-2.jpg",
name: "사과 이름 2",
txt: "사과 설명 2"
},
{
img: "img/img-3.jpg",
name: "사과 이름 3",
txt: "사과 설명 3"
},
];
var i = 0; // 기준점
document.querySelectorAll('.btn').forEach(function (element, index) {
element.addEventListener('click', function(e) {
e.preventDefault();
// a태그의 '#' 이동 기능 비활성화
if(e.target.classList.contains('prevBtn')) {
if(i === 0) {
i = arr.length; // i = 4
}
i--; // i = 3
document.getElementById('img').src = arr[i].img; // .src 경로 설정
document.getElementById('name').textContent = arr[i].name;
document.getElementById('txt').textContent = arr[i].txt;
}
if(e.target.classList.contains('nextBtn')) {
if(i === arr.length -1) {
i = -1; // -1이 아래의 i++와 만나 0이 됨
}
i++;
document.getElementById('img').src = arr[i].img; // .src 경로 설정
document.getElementById('name').textContent = arr[i].name;
document.getElementById('txt').textContent = arr[i].txt;
}
});
});
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.