8.30小T开始在CSDN上记录对前端的练习
打字小游戏(按键事件)
keypress、keydown、keyup的区别
keypress:按键按下时触发事件(注意不能识别功能键,如Ctrl、Shift及大小写)
keydown:按键按下时触发事件
keyup:按键松开时触发事件
keydown、keyup不区分大小写
在此练习会遇到String.fromCharCode()、Math.random()、toUpperCase()
String.fromCharCode()可接受一个指定的 Unicode 值,然后返回一个字符串
Math.random()随机输出[0,1)数字
toUpperCase()小写字母 toLowerCase()变大写字母
练习思路:
1.先绑定,设全局变量score
var body = document.body;
var showCode = document.querySelector('.Code');
var score=0;
2.然后在使用keypress按键事件,监听body
body.onkeypress = function(e) {
var keynum = e.key;
var Keynum = keynum.toUpperCase();
if (Keynum == showCode.innerHTML) {
console.log("你的输入成功,得分加一");
score++;
Coderandom();
}
}
3.运用随机的方式显示字母
function Coderandom() {
var num = 97 + parseInt(Math.random() * 26);
var randomnum = String.fromCharCode(num);
var Num = randomnum.toUpperCase()
showCode.innerHTML = Num;
}
Coderandom();
4.最后使用计时器获得结果
function fn() {
alert("你平均一分钟能打" + score + "字");
score = 0;
}
setInterval(fn, 60000);