JavaScript Konami Code 實現代碼

來源:互聯網
上載者:User

在 Facebook 上有一個彩蛋:
登入 facebook.com ,點擊你首頁的任何地方,鍵盤輸入 Up, Up, Down, Down, Left, Right, Left, Right, B, A, Enter 後,再點擊頁面或滾動一下捲軸,你會發現特殊的變化(如),嘿嘿 ^^

玩過“魂鬥羅”的朋友,肯定一眼就能看出輸入的字元原來就是“魂鬥羅”中的“秘技”。其實“秘技”的術語叫 Konami Code,詳細見圖示:

那如何用 JavaScript 也在自己的頁面上添加一個類似的彩蛋呢?
Abhi 在 《Konami Code on Facebook : How to implement it on your site》 一文中提供了大體思路:

複製代碼 代碼如下:var $ = {
enabled: false,
tmp: Array(),
_konamiCode: Array(65,66,39,37,39,37,40,40,38,38),
init: function() {
this.tmp = Array(65,66,39,37,39,37,40,40,38,38);
},
konamiCode: function(e) {
if(!this.enabled) {
var t = this.tmp.pop();
if((e.keyCode-t) == 0) {
if(this.tmp.length == 0) {
this.enabled = true;
}
} else {
this.init();
}
} else {
this.action();
}
},
// Change the action() function to whatever you want to
action: function() {
//alert("Konami Code Activated");
}
}

不過 Abhi 的方法還是冗餘了點,Jan Jarfalk 在留言中提供了一個短小精悍的代碼:複製代碼 代碼如下:var k=[];
function(e){
k.push(e.keyCode);
if(k.toString().indexOf("38,38,40,40,37,39,37,39,66,65")>=0) {
//alert("Konami Code Activated");
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.