공부하는 Nar
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>
profile

공부하는 Nar

@NarS2

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!