键盘移动div样例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>键盘移动div</title>
    <style type="text/css">
        *{margin:0px;padding:0px;}
        #move{width:200px;height:200px;background:orange;font-family:microsoft yahei;position:absolute;top:200px;}
    </style>
 
</head>
<body>
    <div id="move"></div>
    <script type="text/javascript">
    var step = 10;//我的世界
    var move = document.getElementById('move');
    var inte = null;//定时器变量
 
    window.onkeypress = function(e){
        var c = e.keyCode;
        //检测按键信息
        switch(c){
            case 37:
                moveLeft();
                break;
            case 38:
                moveUp();
                break;
            case 39:
                moveRight();
                break;
            case 40:
                moveDown();
                break;
        }
    }
 
    window.onkeyup = function(){
        //清空定时器
        clearInterval(inte);
        inte = null;
    }
 
    //向左移动函数封装
    function moveLeft(){
        if(inte != null) return ;
        inte = setInterval(function(){
            //获取当前元素的left值
            var l = move.offsetLeft;
            //计算新的left
            var newLeft = l - step;
            //设置细腻的left值
            move.style.left = newLeft + 'px';
        },10)
 
    }
 
    //向右移动
    function moveRight(){
        //判断当前页面是否有定时器
        if(inte != null) return ;
        inte = setInterval(function(){
            //获取当前元素的left值
            var l = move.offsetLeft;
            //计算新的left
            var newLeft = l + step;
            //设置细腻的left值
            move.style.left = newLeft + 'px';
        },10)
 
    }
 
 
    //向上
    function moveUp(){
        //
        var t = move.offsetTop;
        var newT = t - step;
        move.style.top = newT + 'px';
    }
 
    //向下
    function moveDown(){
        var t = move.offsetTop;
        var newT = t + step;
        move.style.top = newT + 'px';
    }
 
 
    </script>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值