js键盘事件,移动

<style>
        *{
            margin: 0px;
            padding: 0px;
        }
        .box{
            width: 100px;
            height: 100px;
            background-color: gold;
            position: absolute;
        }
    </style>
</head>
<body>
    <div class="box"></div>
    <script>
        //box的移动,
        //获取移动相关键的ascll值,用switch判断来匹配,当相等时,改变它距离父元素的距离
        var box=document.querySelector(".box")
        //上38 下40 左37 右39  上下左右的ascll码
        onkeydown=function(){   //当用户按下键盘上任意键触发,如果按住不放,会重复触发
            var speed=10
            if(event.shiftKey){     //组合键,注意写法 shiftKey
                speed=100
            }
            switch(event.keyCode){  //keyCode,是获取Ascll码,但是要配合event使用
                case 38:
                box.style.top=box.offsetTop-speed+"px";//offsetTOP  offsetLeft,距离父元素上,左的距离,配合定位使用
                break;
                                //box.style.top=box.offsetTop, box距离上边的高度为,box距离父元素的top
                case 40:
                box.style.top=box.offsetTop+speed+"px";
                break;

                case 37:
                box.style.left=box.offsetLeft-speed+"px";
                break;

                case 39:
                box.style.left=box.offsetLeft+speed+"px";
                break;
            }
            
        }
    </script>

</body>

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值