const image = document.getElementById('container-img');
let moveInterval;
//이미지 스케일변경
var scaleFactor = 3;
var currentWidth = image.clientWidth;
var newWidth = currentWidth * scaleFactor;
image.style.width = newWidth + 'px';
//실행함수
document.addEventListener('keydown', function (event) {
clearInterval(moveInterval); // 기존의 인터벌을 정지
moveInterval = setInterval(() => {
let xPos = image.offsetLeft;
let yPos = image.offsetTop;
switch (event.key) {
case 'ArrowUp':
yPos += 1;
break;
case 'ArrowDown':
yPos -= 1;
break;
case 'ArrowLeft':
xPos += 1;
break;
case 'ArrowRight':
xPos -= 1;
break;
}
image.style.left = xPos + 'px';
image.style.top = yPos + 'px';
}, 5); // 움직임 속도 조절 (숫자가 작을수록 빠름)
});
document.addEventListener('keyup', function () {
clearInterval(moveInterval); // 키를 떼었을 때 움직임을 멈춤
});
#img-container {
position: relative;
border: 1px solid black;
width: 1020px;
height: 580px;
overflow: hidden;
/*pointer-events: none;*/
pointer-events: visiblePainted;
}
#container-img {
position: absolute;
top: 0;
left: 0;
cursor: move;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Image Drag Example</title>
<link rel="stylesheet" href="css/styles.css" />
</head>
<body>
<div id="img-container">
<img id="container-img" src="img/test3d.png" />
</div>
<script src="js/script.js"></script>
</body>
</html>