Javascript 使用点击式JS,在错误节点上激活

Javascript 使用点击式JS,在错误节点上激活,javascript,html,dom,nodes,Javascript,Html,Dom,Nodes,几乎完成了我正在学习Dom操作的这类游戏。基本上游戏会在左边产生5张图片,在右边产生4张图片,你点击单数的图片,然后在左边产生10张图片,在右边产生9张图片(每次增加5张) 我希望我的nextlevel函数在每次点击最后一个子项(左侧)时都能工作。它第一次工作,但在那之后,不管我是否点击了正确的节点,我的gameOver函数被调用,我不知道为什么。我试着删除游戏结束功能,但还是第二次希望下一级运行(单击后),它没有运行。我是不是走错了路?感谢您的任何意见。将我的gameOver函数保留在中,以便

几乎完成了我正在学习Dom操作的这类游戏。基本上游戏会在左边产生5张图片,在右边产生4张图片,你点击单数的图片,然后在左边产生10张图片,在右边产生9张图片(每次增加5张)

我希望我的nextlevel函数在每次点击最后一个子项(左侧)时都能工作。它第一次工作,但在那之后,不管我是否点击了正确的节点,我的gameOver函数被调用,我不知道为什么。我试着删除游戏结束功能,但还是第二次希望下一级运行(单击后),它没有运行。我是不是走错了路?感谢您的任何意见。将我的gameOver函数保留在中,以便您可以看到我试图使用它做什么

var theLeftSide=document.getElementById(“leftside”);
var theRightSide=document.getElementById(“右侧”);
var Facesneed=5;
var totalfFaces=0;
var theBody=document.getElementsByTagName(“body”)[0];
函数makeFaces(){
while(facesNeed!=totalfFaces){
smiley=document.createElement(“img”);
smiley.src=”http://home.cse.ust.hk/~rossiter/mooc/matching_game/smile.png”;
smiley.style.top=Math.random()*401+“px”;
smiley.style.left=Math.random()*401+“px”;
document.getElementById(“leftside”).appendChild(smiley);
totalfFaces++;
//警报(totalfFaces);用于调试
}
if(facesNeed==totalfFaces){
//警惕(面部需要);
//警报(totalfFaces);
leftSideImages=theLeftSide.cloneNode(true);
leftSideImages.removeChild(leftSideImages.lastChild);
document.getElementById(“右侧”).appendChild(左侧图像);
//警报(“hi”);
}
}
makeFaces();
功能面(侧面){
while(边,第一个孩子){
侧移子(侧移子);
}
}
theLeftSide.lastChild.onclick=函数nextLevel(事件){
event.stopPropagation();
delFaces(右侧);
三角面(左侧);
totalfFaces=0;
面所需+=5;
//警惕(面部需要);
//警报(totalfFaces);
makeFaces();
};
theBody.onclick=函数gameOver(){
警报(“游戏结束!”);
theBody.onclick=null;
theLeftSide.lastChild.onclick=null;
};

img{
位置:绝对位置;
}
div{
位置:绝对位置;
宽度:500px;
高度:500px;
}
#右侧{
左:500px;
左边框:1px纯黑;
}
配对游戏
点击左边额外的笑脸


您只需将
onclick
移动到
makeFaces
中的
while
之后,这样每次创建完后都会添加
:-

var theLeftSide=document.getElementById(“leftside”);
var theRightSide=document.getElementById(“右侧”);
var Facesneed=5;
var totalfFaces=0;
var theBody=document.getElementsByTagName(“body”)[0];
函数makeFaces(){
while(facesNeed!=totalfFaces){
smiley=document.createElement(“img”);
smiley.src=”http://home.cse.ust.hk/~rossiter/mooc/matching_game/smile.png”;
smiley.style.top=Math.random()*401+“px”;
smiley.style.left=Math.random()*401+“px”;
document.getElementById(“leftside”).appendChild(smiley);
totalfFaces++;
//警报(totalfFaces);用于调试
}
if(facesNeed==totalfFaces){
//警惕(面部需要);
//警报(totalfFaces);
leftSideImages=theLeftSide.cloneNode(true);
leftSideImages.removeChild(leftSideImages.lastChild);
document.getElementById(“右侧”).appendChild(左侧图像);
//警报(“hi”);
}
theLeftSide.lastChild.onclick=函数nextLevel(事件){
event.stopPropagation();
delFaces(右侧);
三角面(左侧);
totalfFaces=0;
面所需+=5;
//警惕(面部需要);
//警报(totalfFaces);
makeFaces();
};
}
makeFaces();
功能面(侧面){
while(边,第一个孩子){
侧移子(侧移子);
}
}
theBody.onclick=函数gameOver(){
警报(“游戏结束!”);
theBody.onclick=null;
theLeftSide.lastChild.onclick=null;
};

img{
位置:绝对位置;
}
div{
位置:绝对位置;
宽度:500px;
高度:500px;
}
#右侧{
左:500px;
左边框:1px纯黑;
}
配对游戏
点击左边额外的笑脸


您只需将
onclick
移动到
makeFaces
中的
while
之后,这样每次创建完后都会添加
:-

var theLeftSide=document.getElementById(“leftside”);
var theRightSide=document.getElementById(“右侧”);
var Facesneed=5;
var totalfFaces=0;
var theBody=document.getElementsByTagName(“body”)[0];
函数makeFaces(){
while(facesNeed!=totalfFaces){
smiley=document.createElement(“img”);
smiley.src=”http://home.cse.ust.hk/~rossiter/mooc/matching_game/smile.png”;
smiley.style.top=Math.random()*401+“px”;
smiley.style.left=Math.random()*401+“px”;
document.getElementById(“leftside”).appendChild(smiley);
totalfFaces++;
//警报(totalfFaces);用于调试
}
if(facesNeed==totalfFaces){
//警惕(面部需要);
//警报(totalfFaces);
leftSideImages=theLeftSide.cloneNode(true);
leftSideImages.removeChild(leftSideImages.lastChild);
document.getElementById(“右侧”).appendChild(左侧图像);
//警报(“hi”);
}
theLeftSide.lastChild.onclick=函数nextLevel(事件){
event.stopPropagation();
delFaces(右侧);
三角面(左侧);
totalfFaces=0;
面所需+=5;
//警惕(面部需要);
//警报(totalfFaces);
makeFaces();
};
}
makeFaces();
功能面(侧面){
while(边,第一个孩子){
侧移子(侧移子);
}
}
theBody.onclick=函数gameOver(){
警报(“游戏结束!”);