zoukankan      html  css  js  c++  java
  • div键盘按键移动定时器

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style type="text/css">
            #box1 {
                 100px;
                height: 100px;
                background-image: linear-gradient(to right, #ff8177 0%, #ff867a 0%, #ff8c7f 21%, #f99185 52%, #cf556c 78%, #b12a5b 100%);
                position: absolute;
            }
        </style>
        <script type="text/javascript">
    
            // 使div可以根据不同的方向键向不同的方向移动
            /* 
                按左键,div向左移
                按右键,div向右移
            */
            window.onload = function () {
    
                // 定义一个变量,来表示移动的速度
                var speed = 10;
    
                // 创建一个变量表示方向
                // 通过修改dir来影响移动的速度
                var dir=0;
    
                // 开启一个定时器,来控制div的移动
                setInterval(function(){
                    /* 
                        37 左 
                        39 右
                        38 上
                        40 下
                    */
                    switch (dir) {
                        case 37:
                            // alert("向左"); left值减小
                            box1.style.left = box1.offsetLeft - speed + "px";
                            break;
                        case 39:
                            // alert("向右");
                            box1.style.left = box1.offsetLeft + speed + "px";
                            break;
                        case 38:
                            // alert("向上");
                            box1.style.top = box1.offsetTop - speed + "px";
                            break;
                        case 40:
                            // alert("向下");
                            box1.style.top = box1.offsetTop + speed + "px";
                            break;
                    }
                }, 30);
    
                // 为document绑定一个按键松下的事件
                document.onkeydown = function (event) {
                    event = event || window.event;
    
                    
                    // 当用户按了ctrl以后,速度加快
                    if (event.ctrlKey) {
                        speed = 500;
                    }else{
                        speed = 10;
                    }
                
    
                    // 使dir等于按键的值
                    dir=event.keyCode;
                };
    
                // 当按键松开时,div不再移动
                document.onkeyup=function(){
                // 设置方向为0
                    dir=0;
                };
            };
        </script>
    </head>
    
    <body>
        <div id="box1"></div>
    </body>
    
    </html>

    按键左上右下方向键移动,松开方向键停止移动

  • 相关阅读:
    bzoj 2152: 聪聪可可
    bzoj 2143: 飞飞侠
    bzoj 2132: 圈地计划
    bzoj 2127: happiness
    bzoj 2124: 等差子序列
    bzoj 2120: 数颜色
    对MySQL数据类型的认识
    MySQL详解--锁,事务(转)
    mysql 5.7快速部署
    elasticsearch报错[WARN ][bootstrap ] Unable to lock JVM Memory: error=12,reason=Cannot allocate memory,解决
  • 原文地址:https://www.cnblogs.com/hr-7/p/14204108.html
Copyright © 2011-2022 走看看