DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JavaScript 實現 Konami Code
JavaScript 實現 Konami Code
編輯:關於JavaScript     

網頁制作poluoluo文章簡介:在 Facebook 上有一個彩蛋 : 登錄 facebook.com ,點擊你首頁的任何地方,鍵盤輸入 Up, Up, Down, Down, Left, Right, Left, Right, B, A, Enter 後,再點擊頁面或滾動一下滾動條,你會發現特殊的變化(如下圖),嘿嘿 ^^ 玩過魂斗羅的朋友,肯定一眼就能看出輸入的字

在 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");
    }
}

然後在 load 的時候調用 $.init() 方法,在 keydown 的時候調用 $.konamiCode(event) 方法。

不過 Abhi 的方法還是冗余了點,Jan Jarfalk 在留言中提供了一個短小精悍的代碼:

// Tweetable Konami code
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");
    }
}

PS:有興趣的還可以在 Google Reader 上嘗試下此“秘技”,一般人我還不告訴他,嘿嘿。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved