此项目只测试反应速度,即手点击鼠标的反应速度

html代码

1 <div id="top">请等待图片变颜色,颜色便的那一刻即可点击测手速</div>
2 <div id="mybody" v-bind:style="{backgroundColor:bgcolor}">
3     <div id="myBtn" v-on:click="myclick">点我测手速</div>
4 </div>

js代码

 1 //定义一个全局变量,用于记录上一次执行的时间
 2 var lasttime = new Date();
 3 var myModel = {bgcolor:'green'};
 4 var myViewModel = new Vue({
 5     el:'#mybody',
 6     data:myModel,
 7     methods:{
 8         myclick:function(){
 9             now = new Date();
10             dif = now - lasttime -170;
11             if(dif<150){
12                 alert('你反应速度:'+dif+',如果你不是神,那就是碰巧点了鼠标,不是真正的实力!');
13             }else if(dif<200){
14                 alert('你反应速度:'+dif+',正常');
15             }else if(dif<300){
16                 alert('你反应速度:'+dif+',还可以!');
17             }else if(dif<400){
18                 alert('你反应速度:'+dif+',可以试一下睡一觉,精神好点再来');
19             }else{
20                 alert('你反应速度:'+dif+',你睡着了吗?');
21             }
22         }
23     }
24 });
25 function changeBgColor(){
26     myModel.bgcolor= 'rgb' + '(' + Math.ceil(Math.random() * 245) + ',' + Math.ceil(Math.random() * 245) + ',' + Math.ceil(Math.random() * 245) + ')';
27     //这是,最小极限为3秒,最大极限为12+3秒的算法
28     time = Math.random()*12*1000+3000;
29     setTimeout(changeBgColor,time);
30     lasttime = new Date();
31 }
32 //定时函数有2个(settimeout,setInterval)
33 /**
34  * settimeout(指定时间,执行1次,但是可以执行结束后,再1次,而且时间可以配置)
35  * setInterval(固定时间,反复循环执行)
36  */
37 setTimeout(changeBgColor,5000);

 

css代码

 1 html,body{
 2     width: 100%;/* 配合垂直居中3 */
 3     height: 100%;/* 配合垂直居中4 */
 4     margin: 0;/* 防止出现小幅度的滚动栏 */
 5     padding: 0;/* 防止出现小幅度的滚动栏 */
 6 }
 7 #top{
 8     text-align: center;
 9     color:red;
10     font-size:30px;
11     display:block;
12     margin:20px auto;
13 }
14 #mybody{
15     background-color: red;
16     width: 300px;
17     height: 350px;
18     /*问题:布局的居中,内容的居中*/
19     /* 布局的居中1,水平 */
20     margin: 0 auto;
21     /* 配合垂直居中1 *position: relative;/
22     /* 配合垂直居中2 * top:20%;/
23     /* 内容的居中 */
24     text-align: center;/* 内容的水平居中 */
25     line-height: 350px;/* 内容的垂直居中 */
26 }
27 #myBtn{
28     width:100px;
29     height:80px;
30     margin: 0 auto;
31     color:#FFF;
32     background-color: blue;
33     text-align: center;/* 内容的水平居中 */
34     line-height: 100px;/* 内容的垂直居中 */
35     
36 }