jQuery区域元素只添加了一次
jQuery areas elements only added once
制作一个练习jquery的小游戏。
我制作的脚本将区域添加到html地图元素中。但它只添加了一次区域,我不明白为什么
脚本函数
function renderQuestion(question){
// load correct and incorrect areas
question.$correctArea.appendTo($questionMap);
question.$incorrectArea.appendTo($questionMap);
// set question background image
$questionImage.attr({
src: question.backgroundImage
});
}
function onCorrect(){
score++;
loadNextQuestion();
}
function onIncorrect(){
$questionImage.attr({
src: "../img/items/fail.png"
});
}
function loadNextQuestion(){
renderQuestion(questions[questionIndex]);
questionIndex++;
}
// load first question
loadNextQuestion();
// clicks
$('.correct-area').click(function(){
onCorrect();
});
$('.incorrect-area').click(function(){
onIncorrect();
});
游戏在线网址:http://i333180.iris.fhict.nl/demo/pages/index.php
正如你所注意到的,在问题中,它会将第一个问题加载到正确的区域。单击正确答案后,将加载下一个问题,但不会替换新区域。有人看到了吗?
编辑更改了函数render问题:
function renderQuestion(question){
// load correct and incorrect areas
$questionMap.html(question.$incorrectArea);
$questionMap.html(question.$correctArea);
// set question background image
$questionImage.attr({
src: question.backgroundImage
});
// clicks
$('.correct-area').on('click', onCorrect);
$('.incorrect-area').on('click', onIncorrect);
}
点击的方式是正确的,并且添加了正确的区域。但通过使用.html,它只添加了最后一个区域,我需要它们都是
在开始追加问题图之前清空问题图。
function renderQuestion(question){
// Clear out old questions
$questionMap.empty();
// load correct and incorrect areas
question.$correctArea.appendTo($questionMap);
question.$incorrectArea.appendTo($questionMap);
// set question background image
$questionImage.attr({
src: question.backgroundImage
});
}
function renderQuestion(question){
// load correct and incorrect areas
$questionMap.html(question.$correctArea)
$questionMap.append(question.$incorrectArea)
// set question background image
$questionImage.attr({
src: question.backgroundImage
});
}
使用html()
方法替换内容,而不仅仅是将新内容附加到底部。我不确定您的$questionMap
是否是jQuery对象,如果不是,请像包装其他对象一样包装它($($questionMap)
(,它应该可以工作。
相关文章:
- Javascript返回值只在循环中返回一次
- Jquery FadeIn FadeOut 只工作一次
- Javascript html每点击一次就会更改url
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- jQuery滚动功能只工作一次
- 刷新导致我的帖子“;张贴“;再一次
- 引导程序崩溃一次只能看到一个
- 有没有一个抽象层,这样我就可以集成一次,然后使用pusher、pubnub或faye
- 加载器组件仅加载一次
- 根据Angular.JS上一次的内容禁用选择
- 一次又一次地在新的和相同的选项卡中打开一个url
- iOS cordova应用程序中的文本区域只接受一次输入
- 如何在文本区域的焦点上执行一次代码
- 一次只选择一个区域
- jQuery Scroll-在进入/退出滚动区域时触发一次功能
- 如何在地图区域只点击一次
- 使用timymce编辑器只有一次文本区域
- jQuery区域元素只添加了一次
- 从onclick事件中使用innerHTML设置文本区域的内容只能工作一次