Html5 ABC小程序
2016-08-23 18:20
190 查看
H5 ABC游戏小程序
根据随机出现的字母,键盘输入,判断是否正确
ABC.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>打字练习</title>
<link rel="stylesheet" href="abc.css"/>
</head>
<!--onkeyup 当键盘的按键松开时触发的事件-->
<body onkeyup="key(event);">
<main id="char">
F
</main>
<footer id="foote">
请在键盘上按下屏幕上显示的字母
</footer>
</body>
<script src="abc.js"></script>
</html>
css样式
abc.css
html{
height: 100%;
}
body{
height: 100%;
/*径向渐变色*/
background-image: radial-gradient(circle,#eee,#00CED1);
text-align: center;
}
main{
color: #00FF7F;
font-size: 500px;
/*文本阴影:x轴平移,y轴平移,模糊度,颜色*/
text-shadow: 0 0 90px #000;
}
.right{
animation: zoomIn 1s;
/*animation-delay: 动画执行的
animation-fill-mode: */
/*动画两部分
1 动画的设置:名称 时间 速度 延迟 次数等,写在选择器里面
2 动画动作的过程@keyframes name{}*/
}
.error{
color: red;
animation: errors 2s;
}
@keyframes zoomIn{
0%{
transform: scale(0.3);
/*透明度*/
opacity: 0;
}
100%{
opacity: 1;
}
}
@keyframes errors{
0%,10%,30%,50%,70%,90%{
transform: translateX(-100px);
}
20%,40%,60%,80%,100%{
transform: translateX(100px);
}
}
javascript 文件
abc.js
var char = document.getElementById('char');
var result=document.getElementById('foote');
var code = 0;
var chars;
var okCount = 0;
var errorCount = 0;
function showChar(){
// math.floor向下取整
code=Math.floor(Math.random() * 26);
chars="ABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(code);
char.innerHTML=chars;
}
showChar();
function showResult(){
var i=okCount/(okCount+errorCount) *100;
if(errorCount > 0){
// toFixed表示保留n个小数点
result.innerHTML="正确"+okCount+"个.错误"+errorCount+"个,正确率:"+i.toFixed(2)+"%";
}
}
function key(event){
// toUpperCase转化成大写字母
var key = event.key.toUpperCase();
function clearAnimation(){
char.className="";
}
if(key == chars){
showChar();
char.className = "right";
okCount++;
// 暂停500ms后执行清除动画
setTimeout(clearAnimation,500);
}else{
char.className = "error";
errorCount++;
setTimeout(clearAnimation,1000);
}
showResult();
}
根据随机出现的字母,键盘输入,判断是否正确
ABC.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>打字练习</title>
<link rel="stylesheet" href="abc.css"/>
</head>
<!--onkeyup 当键盘的按键松开时触发的事件-->
<body onkeyup="key(event);">
<main id="char">
F
</main>
<footer id="foote">
请在键盘上按下屏幕上显示的字母
</footer>
</body>
<script src="abc.js"></script>
</html>
css样式
abc.css
html{
height: 100%;
}
body{
height: 100%;
/*径向渐变色*/
background-image: radial-gradient(circle,#eee,#00CED1);
text-align: center;
}
main{
color: #00FF7F;
font-size: 500px;
/*文本阴影:x轴平移,y轴平移,模糊度,颜色*/
text-shadow: 0 0 90px #000;
}
.right{
animation: zoomIn 1s;
/*animation-delay: 动画执行的
animation-fill-mode: */
/*动画两部分
1 动画的设置:名称 时间 速度 延迟 次数等,写在选择器里面
2 动画动作的过程@keyframes name{}*/
}
.error{
color: red;
animation: errors 2s;
}
@keyframes zoomIn{
0%{
transform: scale(0.3);
/*透明度*/
opacity: 0;
}
100%{
opacity: 1;
}
}
@keyframes errors{
0%,10%,30%,50%,70%,90%{
transform: translateX(-100px);
}
20%,40%,60%,80%,100%{
transform: translateX(100px);
}
}
javascript 文件
abc.js
var char = document.getElementById('char');
var result=document.getElementById('foote');
var code = 0;
var chars;
var okCount = 0;
var errorCount = 0;
function showChar(){
// math.floor向下取整
code=Math.floor(Math.random() * 26);
chars="ABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(code);
char.innerHTML=chars;
}
showChar();
function showResult(){
var i=okCount/(okCount+errorCount) *100;
if(errorCount > 0){
// toFixed表示保留n个小数点
result.innerHTML="正确"+okCount+"个.错误"+errorCount+"个,正确率:"+i.toFixed(2)+"%";
}
}
function key(event){
// toUpperCase转化成大写字母
var key = event.key.toUpperCase();
function clearAnimation(){
char.className="";
}
if(key == chars){
showChar();
char.className = "right";
okCount++;
// 暂停500ms后执行清除动画
setTimeout(clearAnimation,500);
}else{
char.className = "error";
errorCount++;
setTimeout(clearAnimation,1000);
}
showResult();
}
相关文章推荐
- 基于 HTML5 的 Windows 画图程序【转载】
- 用智能ABC关闭程序
- 移动开发中HTML5能否替代本地程序?
- 移动开发中HTML5能否替代本地程序?
- 编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。
- 移动开发中HTML5能否替代本地程序?
- 移动开发中HTML5能否替代本地程序?
- 在VS2010下也可以开发HTML5程序了,微软推出了插件
- HTML5程序怎么打包成windows phne, ios和android的应用
- [ZT]智能ABC一严重Bug可使任意程序崩溃
- VC++abc之一源程序
- 用HTML5写出来的时钟程序,只有15行,你能hold住吗
- 移动开发中HTML5能否替代本地程序?
- vs 错误1------"无法启动程序'...debug/abc.exe',系统找不到指定文件"的问题!
- 九、C#编程实战演习ABC 1、使用Visual Studio .NET编写C#程序
- 基于 HTML5 的 Windows 画图程序
- DeviantArt 出品的 HTML5 绘图程序
- 移动开发中HTML5能否替代本地程序?
- HTML5程序怎么打包成windows phne, ios和android的应用[转]
- 移动开发中HTML5能否替代本地程序?