Konami代码帮助 - 两种不同的KeyDown输入

时间:2013-01-11 22:56:00

标签: javascript keydown

我想在我的网页上实现Konami代码。我偶然发现了这个易于使用的javascript:

<script type="text/javascript">
if ( window.addEventListener ) {
  var state = 0, konami = [38,38,40,40,37,39,37,39,66,65];
  window.addEventListener("keydown", function(e) {
    if ( e.keyCode == konami[state] ) state++;
    else state = 0;
    if ( state == 10 )
      window.location = "http://www.konami.com/";
    }, true);
}
</script>

但是,在我的网页上,我希望必须有两个不同的输入,这些输入会导致两个不同的网站。例如:如果有人在键盘上输入了[38,38,40,40,37,39,37,39,66,65] Konami序列,那么我希望将它们重定向到“http://www.konami.com/”。但如果有人在键盘上输入谷歌(即71,79,79,71,76,69),那么我希望将它们重定向到“http://www.google.com/”。

有人可以告诉我如何通过更改上面的javascript来实现这一目标吗?

1 个答案:

答案 0 :(得分:2)

试试这个:

<script type="text/javascript">
if ( window.addEventListener ) {
  var state1 = 0, konami = [38,38,40,40,37,39,37,39,66,65];
  var state2 = 0, google = [71,79,79,71,76,69];
  window.addEventListener("keydown", function(e) {
    if ( e.keyCode == konami[state1] ) state1++;
    else state1 = 0;
    if ( e.keyCode == google[state2] ) state2++;
    else state2 = 0;
    if ( state1 == 10 )
      window.location = "http://www.konami.com/";
    if ( state2 == 6 )
      window.location = "http://www.google.com/";
    }, true);
}
</script>