当点击所有8个div时,我希望剩余的红色div显示效果很好。它似乎没有工作,我试图通过使用hideous document.getElementsByClassName获得类,但我想要一些更简单的工作。请帮助!
var score;
$(document).ready(function () {
$('.b').click(function () {
$(this).fadeOut("slow");
});
});
function click() {
score += 1;
if (score === 8) { document.getElementsByClassName(a).innerHTML += 'Well Done';
}
}
答案 0 :(得分:2)
一些事情:
- score
从未获得默认值,在每次尝试添加1时产生NaN
- 你永远不会打电话给click()
- 你必须遍历你的div并应用innerHTML
- 我只是使用了jQuery,因为你已经有它了:
var score = 0;
$(document).ready(function () {
$('.b').click(function () {
$(this).fadeOut("slow");
click();
});
});
function click() {
score += 1;
if (score === 8) { $(".a").text('Well Done');
}
console.log(score);
}
答案 1 :(得分:1)
代码的替代解决方案可能是检查类b
中的任何元素是否仍然可见:
$(document).ready(function () {
$('.b').click(function () {
$(this).fadeOut("slow", function() {
if($(".b:visible").length === 0) {//fading out element is still technically visible ;)
$(".a").text("Well done");
}
});
});
});
更新代码以处理评论中提到的竞争条件。
答案 2 :(得分:0)
$(".className").text("Well Done")
将上述内容放入点击处理程序中。