다음 코드에서 오류가 발생했습니다 (Uncaught ReferenceError: devildead is not defined
). 같은 위치에서 다른 요소를 삭제 한 후에 만들어진 요소를 이동하려고합니다. 모든 새로운 요소를 이동하는 코드 줄을 추가 할 때 제외한 작품.간단한 JavaScript 오류 (정의되지 않음)
var currentTop = parseInt(getComputedStyle(devildead[i]).top, 10);
내가 그 사실 (위의 라인에 따라)해야한다 의심 :이 줄에 정의되지 않은 배열 (devildead
)에 액세스하려고하기 때문에
function shoot(e){
// alert(e.clientX+":"+e.clientY)
devil=document.querySelectorAll('.devil')
for(i=0;i<devil.length;i++)
{
if (e.clientX>parseInt(devil[i].style.left))
if(e.clientY>parseInt(devil[i].style.top))
if(e.clientX<parseInt(devil[i].style.left)+75)
if(e.clientY<parseInt(devil[i].style.top)+75)
{
topbird=devil[i].style.top
leftbird=devil[i].style.left
devil[i].parentNode.removeChild(devil[i])
die.play();
o=document.createElement('img');
o.src="img/birddead.png";
box.appendChild(o);
o.setAttribute("class","devildead");
o.style.left=leftbird;
o.style.top=topbird;
//Starting from here i have an error
var delay =1;
var top = document.getElementsByClassName("devildead")[i];
var currentTop = parseInt(getComputedStyle(devildead[i]).top, 10);
setTimeout(move, delay);
function move(){
if (currentTop <= 400 ) {
currentTop+=2;
left.style.top = currentTop + "px";
setTimeout(move, delay);
}
}
};
}
당신은 var currentTop = parseInt (getComputedStyle (devildead [i]). – JustEngland
devildead는 var top의 문자열이지만 var currentTop의 변수처럼 보입니다. devildead는 객체로 정의되지 않았으므로 오류가 발생합니다. –