WEB/JavaScript
[JavaScript] change 이벤트 : 사진 슬라이더
developer of the night sky
2023. 10. 12. 14:36
🔻사진 슬라이더🔻
콤보박스로 선택한 값에 따라 사진을 이동시킨다.
키보드 방향키로도 사진 이동가능하게 한다.
기본 뼈대
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#box {
border: 10px solid cornflowerblue;
width: 250px;
height: 188px;
overflow: hidden;
}
#list {
/* 이미지 가로 정렬 */
width: 1250px;
display: flex;
transition: all 1s;
}
</style>
</head>
<body>
<h1>고양이</h1>
<div id="box">
<div id="list" >
<img src="../asset/images/cat01.jpg">
<img src="../asset/images/cat02.jpg">
<img src="../asset/images/cat03.jpg">
<img src="../asset/images/cat04.jpg">
<img src="../asset/images/cat05.jpg">
</div>
</div>
<hr>
<select id="sel1">
<option value="1">고양이1</option>
<option value="2">고양이2</option>
<option value="3">고양이3</option>
<option value="4">고양이4</option>
<option value="5">고양이5</option>
</select>
</body>
</html>
이벤트
<script>
const list = document.getElementById('list');
const sel1 = document.getElementById('sel1');
let dist = 0;
sel1.addEventListener('change', function() {
list.style.transform = `translate(-${(sel1.value-1) * 250}px, 0px)`;
});
window.onkeydown = function() {
list.style.transform = `translate(-${(event.keyCode-49)*250}px, 0px)`
}
</script>