http://runjs.cn/code/szr3kijq
各位大神,小弟是初学者,遇到了一个问题,我做了一个看图猜答案的小游戏,在执行到第二题的时候,点击答案,会出现BUG,我不太清楚是哪里的问题,另外我还希望能实现的功能是一开始能随机生成20道题,里边的图片,关键字以及答案能跟JS中的ID号一一对应,答对一题后,自动进入下一题。请问该如何实现。。。
地址是我的源码。。
http://runjs.cn/code/szr3kijq
各位大神,小弟是初学者,遇到了一个问题,我做了一个看图猜答案的小游戏,在执行到第二题的时候,点击答案,会出现BUG,我不太清楚是哪里的问题,另外我还希望能实现的功能是一开始能随机生成20道题,里边的图片,关键字以及答案能跟JS中的ID号一一对应,答对一题后,自动进入下一题。请问该如何实现。。。
地址是我的源码。。
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
看起来觉得逻辑太乱了,指出两个问题。
一开始是我看错了,没注意on已经绑定多次。谢谢提醒。
但问题依然是,之前题目的('.page_play')每次都是隐藏,后续的('.page_play')添加进来后,后续函数中jQuery依然会使用原先的页面元素。
按照我的方法,if($('.question_answer li').text() == questions[0].answer){}
前增加 alert($('.question_answer li').text());
在第二题时,你可以看到,每次的点击事件,更改的$('.question_answer li').text()中的target每次也会取到多个值,而不是所有li的第一个。
而绑定事件也会被执行多次,不知道是不是$('.question_answer li')有多层,事件在冒泡。
解决方法还是和刚才设想的一样:(没仔细测试)
$('.page_play').fadeOut(1000);后增加$('.page_play').fadeIn(1000);
addQuestions()不要再增加DIV, 而是替换原来点击事件中的 questions[0].answer的序列号(使用闭包或者常量,随机也是此处实现。),然后绑定的onclick中初始化target就能解决问题了。