对于复活节假期,我想在我开发的网站上制作一个小惊喜“复活节彩蛋狩猎”。我隐藏的这五个复活节彩蛋中的两个将被按键指定。这不会像“同时按 CTRL 和 TAB”类型的交易,而是“按 UP 3 次然后 RIGHT 3 次”类型的事情。这将寻找一系列按键,而不是一次按下两个按键。我已经设置了这个功能,但由于某些奇怪的原因,它不能正常工作。
注意:下面的脚本正在寻找以下按键系列:
surprise1 - LEFT (x3)、RIGHT (x3)、UP (x3)、DOWN (
x3)
$(document.body).keydown(function(e) {
surprise1(e);
surprise2(e);
});
function surprise1(e) {
var ev = (e) ? e : window.event;
var k = ev.keyCode;
if (k > 36 && k < 41) {
typekeys[k] = isNaN(typekeys[k]) ? 0 : typekeys[k];
typekeys[k]++;
if (typekeys[37] == 3) {
if (typekeys[37] == 3 && typekeys[39] == 3) {
if (typekeys[37] == 3 && typekeys[39] == 3 && typekeys[38] == 3) {
if (typekeys[37] == 3 && typekeys[39] == 3 && typekeys[38] == 3 && typekeys[40] == 3) {
alert("You've found Surprise 1! Contact the site admin ASAP to get your prize!");
typekeys[37] = typekeys[39] = typekeys[38] = typekeys[40] = 0;
}
} else {
typekeys[40] = 0;
}
} else {
typekeys[38] = typekeys[40] = 0;
}
} else {
if (typekeys[37] > 3) {
typekeys[37] = 0;
}
typekeys[39] = typekeys[38] = typekeys[40] = 0;
}
} else {
typekeys[37] = typekeys[39] = typekeys[38] = typekeys[40] = 0;
}
};
function surprise2(e) {
var ev = (e) ? e : window.event;
var k = ev.keyCode;
if (k > 8 && k < 18) {
typekeys[k] = isNaN(typekeys[k]) ? 0 : typekeys[k];
typekeys[k]++;
if (typekeys[16] == 3) {
if (typekeys[9] == 3) {
if (typekeys[16] == 3 && typekeys[9] == 3 && typekeys[17] == 3) {
alert("You've found Surprise 2! Contact the site admin ASAP to get your prize!");
typekeys[16] = typekeys[9] = typekeys[17] = 0;
}
}
} else {
if (typekeys[16] > 3) {
typekeys[16] = 0;
}
typekeys[9] = typekeys[17] = 0;
}
} else {
typekeys[16] = typekeys[9] = typekeys[17] = 0;
}
};
介意告诉我为什么这不起作用?在我看来它应该工作。