我一直在尝试使用向左和向右箭头键来移动“桨”。每当我按向左或向右键时,值都会正确更改,并且字符串似乎是正确的,但是.css()运行后,它只会返回原始值。请帮忙?
-用于调试的代码标记为//-
var paddx = 0;
var ball = document.getElementById('ball');
var ballx = 0;
var bally = 0;
var maxw = window.innerWidth;
var maxh = window.innerHeight;
$(document).keydown(function(keyPressed){
paddle = document.getElementById('paddle');
var temppaddx = window.getComputedStyle(paddle).getPropertyValue('left');
paddx = parseInt(temppaddx, 10);
console.log(temppaddx +" "+ paddx);//
if (keyPressed.keyCode == 37){
paddx -= 1;
if (paddx < 5){
paddx = 5;
}
}
if (keyPressed.keyCode == 39){
paddx += 1;
if (paddx > maxw - 130){
paddx = maxw - 130;
}
}
temppaddx = paddx.toString(10) + 'px';
console.log(temppaddx +" "+ paddx);//
$('paddle').css('left',temppaddx);
temppaddx = window.getComputedStyle(paddle).getPropertyValue('left');//
console.log(temppaddx +" "+ paddx);//
});```
最佳答案
您正在使用document.getElementById('paddle')
,但也在使用$('paddle')
。
为使jQuery的选择器找到正确的元素,应为$('#paddle')
。