ocanal这个名字的成员很好,可以帮我写一个JQuery函数(你可以在这里查看jsFiddle:http://jsfiddle.net/JMqxq/5/),但我现在想要修改它。我能够成功修改它,以便在您正确猜出颜色时,“级别”增加1并正确显示。我遇到的问题就是让它“重置”,这样一旦你猜出正确的颜色,之前不正确的盒子就不再淡出,随机数生成器选择了一个新的正确颜色供你猜测。知道我怎么能这样做吗?这是我想要修改的特定功能:
temp = Math.floor((Math.random()*6)+1);
$("div.box").click(function() {
if (temp == $(this).data("id")) {
correct();
} else {
$(this).animate({"opacity": "0.25"}, "slow");
incorrect();
}
});
如果您需要,还可以在正确猜测时调用该函数:
function correct(){
document.getElementById("result").innerHTML = "You are correct!";
level++;
document.getElementById("level").innerHTML = level;
}
感谢您的帮助。
答案 0 :(得分:1)
在correct
函数中,您需要将每个框设置为不透明度为1,如下所示:
$(".box").animate({"opacity": "1"}, "slow");
该功能是:
function correct(){
$("#result").html("You are correct!");
level++;
$(".box").animate({"opacity": "1"}, "slow");
document.getElementById("level").innerHTML = level;
}
我已更新您的fiddle。
答案 1 :(得分:0)
查看jsFiddle更新的jsFiddle。
我做了一个更改,添加了一个reset()函数,并在correct()函数调用之后调用它。
window.onload = init;
var temp = 0;
var level = 1;
function init(){
rand();
}
function rand(){
temp = Math.floor((Math.random()*6)+1);
$("div.box").click(function() {
if (temp == $(this).data("id")) {
correct();
reset();
} else {
$(this).animate({"opacity": "0.25"}, "slow");
incorrect();
}
});
}
function reset(){
$(".box").each( function () {
$(this).animate({"opacity": "1.0"}, "slow");
});
}
function correct(){
$("#result").html("You are correct!");
level++;
document.getElementById("level").innerHTML = level;
}
function incorrect(){
$("#result").html("Sorry, you are incorrect.");
}