JavaScript Konami Code 实现代码
作者:bea
在 Facebook 上有一个彩蛋: 登录 facebook.com ,点击你首页的任何地方,键盘输入 Up, Up, Down, Down, Left, Right, Left, Right, B, A, Enter 后,再点击页面或滚动一下滚动条,你会发现特殊的变化(如下图),嘿嘿 ^^ 玩过“魂斗罗”的朋友,肯定一眼就能看出输入的字符原来就是“魂斗罗”中的“秘技”。其实“秘技”的术语叫 Konami Code,详细见图示: 那如何用 JavaScript 也在自己
在 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");
}
有用 | 无用
登录 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");
}
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- javascript getElementsByName()的用法说明
- extjs 列表框(multiselect)的动态添加列表项的方法
- JavaScript 学习小结(适合新手参考)
- JavaScript 创建对象和构造类实现代码
- Javascript 类的继承实现代码
- Javascript 学习笔记 错误处理
- JS 学习笔记 防止发生命名冲突
- 网页全屏显示代码说明分析
- javascript 处理HTML元素必须避免使用的一种方法
- javascript 写的一个简单的timer
- jquery imgareaselect 使用利用js与程序结合实现图片剪切
- Javascript this指针
- javascript 进度条 实现代码
- JS input 数字验证代码
- 关于取不到由location.href提交而来的上级页面地址的解决办法
- window.parent调用父框架时 ie跟火狐不兼容问题
- javascript EXCEL 操作类代码
- JavaScript this 深入理解
- Google Map API更新实现用户自定义标注坐标