Javascript位置变量不存在';不能正确更新

Javascript位置变量不存在';不能正确更新,javascript,jquery,variables,position,updating,Javascript,Jquery,Variables,Position,Updating,在过去的3个小时里,我一直坐在这里思考并在谷歌上搜索一种方法,让一个矩形(div元素)在按下按钮时来回移动(使用javascript)。它在移动,但后来我试图监视一次碰撞,但它没有工作。上面说的是垃圾,所以我把代码精简为: $(document).on('keyup', function(e){ var SQposition = $("#SQbody").position(); var SQleft = SQposition.left; var SQtop = SQpos

在过去的3个小时里,我一直坐在这里思考并在谷歌上搜索一种方法,让一个矩形(div元素)在按下按钮时来回移动(使用javascript)。它在移动,但后来我试图监视一次碰撞,但它没有工作。上面说的是垃圾,所以我把代码精简为:

$(document).on('keyup', function(e){
    var SQposition = $("#SQbody").position();
    var SQleft = SQposition.left;
    var SQtop = SQposition.top;
    //Go left D or left arrow key
    if(e.keyCode == 68 || e.keyCode == 39) {
        console.log("Fired");
        $("#SQbody").css({
            "left": (SQleft + 10) + "px",
        });
    }
});
无论我在哪里监视变量
SQleft
,它总是触发一个0,然后很明显触发一个10,以此类推。奇怪的是,使用
console.log(“Fired”)从1开始,然后是2,依此类推。
我做错了什么?

更新:我说的“向左走”是指“向右走”,我编码xD时是凌晨3点 解决方案:我自己解决了这个问题,在括号里放了一个
+=
并在将变量SQleft记录到控制台后返回该变量。 工作代码如下所示:

$(document).on('keyup', function(e){
    var SQposition = $("#SQbody").position();
    var SQleft = SQposition.left;
    var SQtop = SQposition.top;
    if(e.keyCode == 68 || e.keyCode == 39) {
        $("#SQbody").css({
            "left": (SQleft += 10) + "px",
        });
        console.log("Fired " + SQleft);
        return SQleft;
    }
});

是否未命中
位置:绝对??


是否未命中
位置:绝对??

它应该做什么?它只是在上升。你必须减去10才能向左走<代码>控制台
日志以数字顺序出现。此
SQbody{宽度:30px;高度:30px;背景色:FFD94D;位置:固定;底部:100px;左:0px;-webkit转换原点:左上;}
是我仅有的CSS元素。脚本是Jquery和纯Javascript,包含在body标记的末尾。而
SQbody
是页面上唯一的元素。我在前面做了一个更高级的版本,你可以用W,A和D来控制它。@PHPglue我把
console.log()放在哪里并不重要
.text()SQleft总是说出最后一个值。在我制作的代码笔中,如果您查看开发工具中的
#SQbody
,您可以看到它。你移动它一次,控制台显示100,但实际值是115。当然,如果你把它移向另一个方向,它会变得非常混乱。它应该做什么?它只是在上升。你必须减去10才能向左走<代码>控制台
日志以数字顺序出现。此
SQbody{宽度:30px;高度:30px;背景色:FFD94D;位置:固定;底部:100px;左:0px;-webkit转换原点:左上;}
是我仅有的CSS元素。脚本是Jquery和纯Javascript,包含在body标记的末尾。而
SQbody
是页面上唯一的元素。我在前面做了一个更高级的版本,你可以用W,A和D来控制它。@PHPglue我把
console.log()放在哪里并不重要
.text()SQleft总是说出最后一个值。在我制作的代码笔中,如果您查看开发工具中的
#SQbody
,您可以看到它。你移动它一次,控制台显示100,但实际值是115。当然,如果你把它移到另一个方向,它会变得非常混乱。不,它不会。它不受任何其他对象的影响,因为它位于
位置:固定查看我问题下的评论了解更多详细信息不,没有。它不受任何其他对象的影响,因为它位于
位置:固定查看我的问题下的评论以了解更多详细信息