Javascript 为什么克隆人在移动而不是原创?
如果我点击该框,它将收到类“.selected”。 如果我然后按“x”键,它将创建自身的克隆。 如果按键盘上的“向上”箭头,克隆将向上移动。但是为什么原来的正方形没有向上移动呢Javascript 为什么克隆人在移动而不是原创?,javascript,dom,addeventlistener,Javascript,Dom,Addeventlistener,如果我点击该框,它将收到类“.selected”。 如果我然后按“x”键,它将创建自身的克隆。 如果按键盘上的“向上”箭头,克隆将向上移动。但是为什么原来的正方形没有向上移动呢 body.addEventListener("keydown", function (event) { if (event.keyCode === 38) { // up var allSelected = document.querySelectorAll(".se
body.addEventListener("keydown", function (event) {
if (event.keyCode === 38) { // up
var allSelected = document.querySelectorAll(".selected");
for (var i = 0; i < allSelected.length; i++) {
var currentPos = allSelected[i].style.top;
var newPos = currentPos.slice(0, -2) // remove px
newPos = parseInt(newPos); // make int
newPos -= 30;
newPos = newPos + "px";
allSelected[i].style.top = newPos;
}
}
});
body.addEventListener(“按键”,函数(事件){
如果(event.keyCode==38){//up
var allSelected=document.querySelectorAll(“.selected”);
对于(变量i=0;i
您的原始元素没有样式。因此,top
和newPos是“NaNpx”
body.addEventListener("keydown", function (event) {
if (event.keyCode === 38) { // up
var allSelected = document.querySelectorAll(".selected");
for (var i = 0; i < allSelected.length; i++) {
var currentPos = allSelected[i].style.top;
if(!currentPos) {
currentPos = allSelected[i].offsetTop + 'px';
}
var newPos = currentPos.slice(0, -2) // remove px
newPos = parseInt(newPos); // make int
newPos -= 30;
newPos = newPos + "px";
allSelected[i].style.top = newPos;
}
}
});
body.addEventListener(“按键”,函数(事件){
如果(event.keyCode==38){//up
var allSelected=document.querySelectorAll(“.selected”);
对于(变量i=0;i
我尝试了代码笔,没有任何东西向上移动。使用var currentPos=getComputedStyle(allSelected[I])。top代码>而不是var currentPos=allSelected[i].style.top因为原始框没有内联样式,所以.style.top
将是未定义的