javascript - 关于函数重复执行的问题
天蓬老师
天蓬老师 2017-04-10 16:10:32
[JavaScript讨论组]

http://runjs.cn/code/szr3kijq
各位大神,小弟是初学者,遇到了一个问题,我做了一个看图猜答案的小游戏,在执行到第二题的时候,点击答案,会出现BUG,我不太清楚是哪里的问题,另外我还希望能实现的功能是一开始能随机生成20道题,里边的图片,关键字以及答案能跟JS中的ID号一一对应,答对一题后,自动进入下一题。请问该如何实现。。。

地址是我的源码。。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
巴扎黑

看起来觉得逻辑太乱了,指出两个问题。
一开始是我看错了,没注意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()不要再增加p, 而是替换原来点击事件中的 questions[0].answer的序列号(使用闭包或者常量,随机也是此处实现。),然后绑定的onclick中初始化target就能解决问题了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号