当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript 实现 Konami Code

Javascript
jquery控制listbox中项的移动并排序
Jquery操作Select 简单方便 一个js插件搞定
JQuery SELECT单选模拟jQuery.select.js
用document.documentElement取代document.body的原因分析
Marquee配合DIV实现的文字滚动效果代码
JS溶解形式的文字切换特效
文字在网页上下浮动 学习可以不建议用
[原创]一段时间以后切换显示的广告代码
传智播客学习之JavaScript基础篇
javascript 带有滚动条的表格,标题固定,带排序功能.
jquery 可排列的表实现代码
jQuery帮助之CSS尺寸(五)outerHeight、outerWidth
jQuery checkbox全选/取消全选实现代码
javascript 去字符串空格终极版(支持utf8)
flash 得到自身url参数的代码
Dojo 学习笔记入门篇 First Dojo Example
JavaScript 语法集锦 脚本之家基础推荐
Javascript 中文字符串处理额外注意事项
JavaScript的eval JSON object问题
JavaScript OOP类与继承

Javascript 中的 JavaScript 实现 Konami Code


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 100 ::
收藏到网摘: n/a

在 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 上尝试下此“秘技”,一般人我还不告诉他,嘿嘿。