JavaScript Konami Code 实现代码


Posted in Javascript onJuly 29, 2009

在 Facebook 上有一个彩蛋:
登录 facebook.com ,点击你首页的任何地方,键盘输入 Up, Up, Down, Down, Left, Right, Left, Right, B, A, Enter 后,再点击页面或滚动一下滚动条,你会发现特殊的变化(如下图),嘿嘿 ^^

JavaScript Konami Code 实现代码

玩过“魂斗罗”的朋友,肯定一眼就能看出输入的字符原来就是“魂斗罗”中的“秘技”。其实“秘技”的术语叫 Konami Code,详细见图示:

JavaScript 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 相关文章推荐
一段非常简单的让图片自动切换js代码
Nov 10 Javascript
window.name代替cookie的实现代码
Nov 28 Javascript
js/jQuery对象互转(快速操作dom元素)
Feb 04 Javascript
通过复制Table生成word和excel的javascript代码
Jan 20 Javascript
jQuery表单域选择器用法分析
Feb 10 Javascript
js实现简单div拖拽功能实例
May 12 Javascript
Javascript中return的使用与闭包详解
Jan 11 Javascript
微信小程序 页面之间传参实例详解
Jan 13 Javascript
JS HTML图片显示Canvas 压缩功能
Jul 21 Javascript
vuex与组件联合使用的方法
May 10 Javascript
原生js实现自定义消息提示框
Nov 19 Javascript
vue keep-alive的简单总结
Jan 25 Vue.js
JavaScript 获取事件对象的注意点
Jul 29 #Javascript
javascript CSS画图之基础篇
Jul 29 #Javascript
JQuery 表格操作(交替显示、拖动表格行、选择行等)
Jul 29 #Javascript
JavaScript 设计模式学习 Factory
Jul 29 #Javascript
JQuery UI皮肤定制
Jul 27 #Javascript
JavaScript 设计模式学习 Singleton
Jul 27 #Javascript
xml 封装与解析(javascript和C#中)
Jul 26 #Javascript
You might like
PHP 错误之引号中使用变量
2009/05/04 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
2014/06/23 PHP
php实现两个数组相加的方法
2015/02/17 PHP
举例详解PHP脚本的测试方法
2015/08/05 PHP
PHP GD库相关图像生成和处理函数小结
2016/09/30 PHP
php利用fsockopen GET/POST提交表单及上传文件
2017/05/22 PHP
Ext.get() 和 Ext.query()组合使用实现最灵活的取元素方式
2011/09/26 Javascript
基于jquery点击自以外任意处,关闭自身的代码
2012/02/10 Javascript
Jquery原生态实现表格header头随滚动条滚动而滚动
2014/03/18 Javascript
AngularJS基础 ng-model 指令详解及示例代码
2016/08/02 Javascript
vue2笔记 — vue-router路由懒加载的实现
2017/03/03 Javascript
parabola.js抛物线与加入购物车效果的示例代码
2017/10/25 Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
2018/01/16 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
vue+element-ui+ajax实现一个表格的实例
2018/03/09 Javascript
vue+webpack实现异步加载三种用法示例详解
2018/04/24 Javascript
纯JS实现出生日期[年月日]下拉菜单效果
2018/06/01 Javascript
使用layer.msg 时间设置不起作用的解决方法
2019/09/12 Javascript
layui table 表格上添加日期控件的两种方法
2019/09/28 Javascript
Python实现SMTP发送邮件详细教程
2021/03/02 Python
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
对pandas处理json数据的方法详解
2019/02/08 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
Pytorch: 自定义网络层实例
2020/01/07 Python
Python在字符串中处理html和xml的方法
2020/07/31 Python
python 实现汉诺塔游戏
2020/11/28 Python
ellesse美国官方商店:意大利高级运动服品牌
2019/10/29 全球购物
Arti-shopping中文官网:大型海外商品一站式直邮平台
2020/03/23 全球购物
求网格中的黑点分布
2013/11/06 面试题
数据库的约束含义
2012/09/09 面试题
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
Delphi软件工程师试题
2013/01/29 面试题
养生餐厅创业计划书范文
2014/03/26 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
课外访万家心得体会
2014/09/03 职场文书
2015年推广普通话演讲稿
2015/03/20 职场文书