在下面的代码中,我创建了一个id为“devildead”的新图像,在我尝试使用其id移动此图像后,出现此错误:
未捕获的TypeError:无法读取null的属性“top”。
我应该改变什么来使其有效?
o = document.createElement('img');
o.src = "img/birddead.png";
box.appendChild(o);
o.setAttribute("id", "devildead");
o.style.left = leftbird;
o.style.top = topbird;
// Function for moving the dead bird
var delay = 1;
var top = document.getElementById("devildead");
//Here I got the error
var currentTop = parseInt(getComputedStyle(devildead).top, 10);
// Start
setTimeout(move, delay);
function move(){
if (currentTop <= 480) {
currentTop += 2;
top.style.top = currentTop + "px";
setTimeout(move, delay);
}
}
答案 0 :(得分:0)
我猜这是导致错误的行
var currentTop = parseInt(getComputedStyle(devildead).top, 10);
// ^^ here
由于您没有devildead
变量,因某种原因您使用元素top
var currentTop = parseInt(getComputedStyle(top).top, 10);
甚至更好,不要将元素放在名为top
的变量中,因为它会导致混淆
var devildead = document.getElementById("devildead");
var currentTop = parseInt(getComputedStyle(devildead).top, 10);