Javascript 简单jquery测验-计数器
这里有把小提琴- 我正试图从上面构建一个基本的客户端测试。我现在的问题是我不知道如何防止多次点击增加我的分数。如果有人在点击正确的答案后选择了错误的答案,那么我也需要扣除这个数字Javascript 简单jquery测验-计数器,javascript,jquery,Javascript,Jquery,这里有把小提琴- 我正试图从上面构建一个基本的客户端测试。我现在的问题是我不知道如何防止多次点击增加我的分数。如果有人在点击正确的答案后选择了错误的答案,那么我也需要扣除这个数字 我尝试了一些if语句,但似乎没有取得多大进展!任何建议都将不胜感激 不使用计数,只需跟踪包含数据正确=yes的选定答案 var score = 0; $('ul li').on('click', function () { $(this).siblings().removeClass('selected');
我尝试了一些if语句,但似乎没有取得多大进展!任何建议都将不胜感激 不使用计数,只需跟踪包含
数据正确=yes的选定答案
var score = 0;
$('ul li').on('click', function () {
$(this).siblings().removeClass('selected');
$(this).addClass('selected');
var isCorrect = $(this).data('correct');
if (isCorrect === 'yes') {
score++;
}
console.log(score);
});
上述代码搜索选择了类且数据属性为correct=yes
的li标记
您可以按以下方式结束您的问题:
$('ul li').on('click', function () {
$(this).siblings().removeClass('selected');
$(this).addClass('selected');
console.log($('ul .selected[data-correct="yes"]').length);
});
更新代码
var score = 0;
$('ul li').on('click', function () {
if($(this).siblings().hasClass('selected')==false){
$(this).siblings().removeClass('selected');
$(this).addClass('selected');
var isCorrect = $(this).data('correct');
if (isCorrect === 'yes') {
score++;
}
}
console.log(score);
});
如果您想使用与您的方法类似的方法,您可以使用:
var score = 0;
$('ul li').on('click', function () {
if($(this).siblings().hasClass('selected')==false && $(this).hasClass('selected')==false){
$(this).siblings().removeClass('selected');
$(this).addClass('selected');
var isCorrect = $(this).data('correct');
if (isCorrect === 'yes') {
score++;
}
}
console.log(score);
});
这太完美了,谢谢!如此优雅的解决方案。
var score = 0;
$('ul li').on('click', function () {
$(this).siblings().removeClass('selected');
$(this).addClass('selected');
var isCorrect = $(this).data('correct');
if (isCorrect === 'yes') {
score++;
} else {
score--;
}
$(this).siblings().unbind();
console.log(score);
});