javascript - 在我的代码中,我可以使用向上和向下箭头键,但由于某种原因,左右似乎不起作用

标签 javascript html arrow-keys

我正在为我的类(class)制作一个游戏,一切正常,但由于某种原因,左右箭头键不起作用,但向上和向下可以正常工作。 我在 Github 上有一切 - https://github.com/Crouton18/game.git

这是箭头函数的 html 和 java 脚本

    function leftArrowPressed() {
            var element = document.getElementById("cat");
            element.style.left = parseInt(element.style.left) - 20 + 'px';
        }
        function rightArrowPressed() {
            var element = document.getElementById("cat");
            element.style.left = parseInt(element.style.left) + 20 + 'px';
        }
        function upArrowPressed() {
            var element = document.getElementById("cat");
            element.style.top = parseInt(element.style.top) - 20 + 'px';
        }
        function downArrowPressed() {
            var element = document.getElementById("cat");
            element.style.top = parseInt(element.style.top) + 20 + 'px';
        }

    function movetheguy(event){
       switch (event.keyCode) {
                case 37:
                    leftArrowPressed();
                break;
                case 39:
                    rightArrowPressed();
                break;
                case 38:
                    upArrowPressed();
                break;
                case 40:
                    downArrowPressed();
                break;
                }

    <body onLoad="bg(large0.gif);" onKeyDown="" 
          onkeyup="movetheguy(event);" bgcolor="black">

最佳答案

我在 github 中检查了您的 HTML,发现您的“cat”图像中只有 right 样式。在 JS 中,如果 style 属性中没有 left 规则,则 element.style.left 将不会返回值。

要解决此问题,您应该更改 JS 代码以获取 element.style.right 而不是 element.style.left 或更改“cat”中的样式"使用 left 代替 right 的图像

关于javascript - 在我的代码中,我可以使用向上和向下箭头键,但由于某种原因,左右似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55959253/

相关文章:

javascript - 如何使用jquery缩放相同质量的图像?

iphone - iPhone 中的 Web SQL 存储

jquery - 使用箭头键突出显示 div 中的链接

javascript - 视差滚动不适用于移动 css

html - CSS - Bootstrap 下拉菜单,具有相同的类,位于不同的链接下

javascript - 如何在按下按键时更改 div 的值

支持箭头键的标准输入跨平台输入解决方案?

javascript - stopPropagation() 不适用于 Firefox 中的右键单击

javascript - 有什么方法可以在一个页面上放很多不同的幻灯片,而无需为每个幻灯片复制一堆重命名的函数?

javascript - e.preventDefault() 与 PreventDefault(e)