js键盘事件 onkeyup keycode自定义实现图片上下左右移动

本文介绍了如何使用JavaScript的onkeyup事件和keycode来实现图片的上下左右移动。通过监听键盘事件,结合CSS动态效果,可以创建出一个交互式的图片移动功能。
摘要由CSDN通过智能技术生成

css部分

<style type="text/css">
        .top {
            border-radius: 10px;
        }

        .down {
            border-radius: 10px;
        }

        #left {
            border-radius: 10px;
        }

        #right {
            border-radius: 10px;
        }

        #btn {
            border-radius: 5px;
        }
    </style>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
<center>
    上:<input type="text" onkeyup="change('up')" class="top"><br><br>
    下:<input type="text" onkeyup="change('down')" class="down"><br><br>
    左:<input type="text" onkeyup="change('left')" id="left"><br><br>
    右:<input type="text" onkeyup="change('right')" id="right"><br><br>
    <button onclick="modify()" id="btn"><font size="4">修改</font></button>
</center>
<img id="img" src="1.jpg" style="width: 80px;height: 80px;position: absolute;left: 0px;top: 0px;">
<script type="text/javascript">
    var obj = document.getElementById("img");
    obj.left = 0;
    obj.top = 0;
    var up, down, left, right;
    var up1, downl, left1, right1;

    function modify() {
        up = up1;
        down = downl;
        left = left1;
        right = right1;
        move();
    }

    function change(str) {
        if (str == "up") {
            up1 = event.keyCode;
        }
        if (str == "down") {
            downl = event.keyCode;
        }
        if (str == "left") {
            left1 = event.keyCode;
        }
        if (str == "right") {
            right1 = event.keyCode;
        }

    }


    function move() {
        console.log(event.keyCode);
        //左
        if (event.keyCode == 37 || event.keyCode == left) {
            obj.left -= 80;
        }
        //上
        if (event.keyCode == 38 || event.keyCode == up) {
            obj.top -= 80;
        }
        //右
        if (event.keyCode == 39 || event.keyCode == right) {
            obj.left += 80;
        }
        //下
        if (event.keyCode == 40 || event.keyCode == down) {
            obj.top += 80;
        }
        obj.style.left = obj.left + "px",
            obj.style.top = obj.top + "px";
    }

    document.onkeydown = move;
</script>
</body>
</html>

这个是我使用的图片动态效果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值