指法练习 V1.0_haley(指法练习工具)
1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="Author" content="haley"> 6 <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> 7 <title>指法练习 V1.0_haley</title> 8 <style> 9 body{position:relative;font-family: Arial, "Microsoft Yahei", "Simsun";} 10 .container{ 11 width:800px; 12 height:600px; 13 margin:50px auto; 14 border:1px solid #ddd; 15 text-align: center; 16 position: relative; 17 } 18 .inp{ 19 height:40px; 20 font-size: 36px; 21 line-height: 40px; 22 color:#f00; 23 width:90%; 24 padding-left:10px; 25 letter-spacing: 6px; 26 background: none; 27 } 28 .btn{ 29 padding:8px 5px; 30 font-weight: bold; 31 height:60px; 32 font-size: 36px; 33 color:#f00; 34 margin-top:40px; 35 } 36 .start{ 37 width:15%; 38 } 39 .listWords{ 40 height:60px; 41 width: 38%; 42 letter-spacing: 0px; 43 } 44 .submit{ 45 width:20%; 46 } 47 .showList{ 48 height: 300px; 49 overflow-y: scroll; 50 border-top:dashed 1px lightgreen; 51 } 52 .show{ 53 text-align: left; 54 padding-left: 10px; 55 font-size: 24px; 56 } 57 .fb{font-weight: bold;} 58 .tips{ 59 font-size: 36px; 60 text-align: left; 61 padding-left:45px; 62 margin-bottom: -60px; 63 color:lightgreen; 64 } 65 .seconds{ 66 font-size: 30px; 67 margin: 0; 68 } 69 .alert{ 70 width:400px; 71 height:200px; 72 line-height: 200px; 73 font-size: 20px; 74 padding:10px; 75 position: absolute; 76 border:1px solid #ddd; 77 text-align: center; 78 top:50%; 79 left:50%; 80 z-index: 99; 81 background: #fff; 82 margin-top:-100px; 83 margin-left:-200px; 84 display: none; 85 } 86 </style> 87 </head> 88 <body> 89 <div class="container"> 90 <h1>指法练习 V1.0_haley</h1> 91 <div class="main"> 92 <p class="inp tips">abcdefghijklmnopqrstuvwxyz</p> 93 <p><input type="text" class="inp" value="abcdefghijklmnopqrstuvw" id="inp"/></p> 94 <p> 95 <select name="" id="listWords" class="inp listWords"> 96 <option value="">选择练习的手指</option> 97 <option value="0">所有手指</option> 98 <option value="1">左手小指</option> 99 <option value="2">左手无名指</option> 100 <option value="3">左手中指</option> 101 <option value="4">左手食指</option> 102 <option value="5">右手食指</option> 103 <option value="6">右手中指</option> 104 <option value="7">右手无名指</option> 105 <option value="8">右手小指</option> 106 <option value="9">左手第一排</option> 107 <option value="10">左手第二排</option> 108 <option value="11">左手第三排</option> 109 <option value="12">右手第一排</option> 110 <option value="13">右手第二排</option> 111 <option value="14">右手第三排</option> 112 </select> 113 <input type="button" value="开 始" id="start" class="btn start"/><input type="button" value="提 交" id="submit" class="btn submit"/></p> 114 <p class="seconds"><span>0</span> 毫秒</p> 115 <div class="showList"> 116 <!--<p class="show">第 <b>0</b> 次, <span class="fb">0</span> 秒</p>--> 117 </div> 118 </div> 119 <div class="alert"> 120 输入有误,请重新输入! 121 </div> 122 </div> 123 <script> 124 $(function () { 125 var words = [ 126 'abcdefghijklmnopqrstuvwxyz',//全键盘 0 127 'qaz1qaqzqqq1azzq1qaqaqzaqa',//左手小指 1 128 '22wsws2w2wxsw2wswsw2wwssw2',//左手无名指 2 129 '3ededd3ecc33edede3edeecced',//左手中指 3 130 '4r5trftgbvr45tfgtrgtgbvrtg',//左手食指 4 131 '67yuhjuynmjuy67yhunjuy7yhh',//右手食指 5 132 '8ik8ik,ki8ik,ki8ik,ki8ikik',//右手中指 6 133 '9ol.l9ol.lo9ol.l9ol.lll.ol',//右手无名指 7 134 '0p;/;p0p;/;p0p;/;p0p0p;;p;',//右手小指 8 135 'qweretrereqtqtrqtqteererer',//左手第一排 9 136 'adgfgdfsdfgdaafdasdfsdfada',//左手第二排 10 137 'zvbvzcvxcvbzvczcvcbbcxvzvb',//左手第三排 11 138 'yuiiopiuiuyiuiiyippypiuipy',//右手第一排 12 139 'hjkl;ljhkl;ljhkl;lkjljl;kj',//右手第二排 13 140 'nm,/,.m,/nn./m,n,.,.mnm,./'//右手第三排 14 141 ]; 142 $('#inp').focus(); 143 var i = 0; 144 var index=5; 145 var str=words[index]; 146 var sTime=null,eTime=null,timer=null; 147 $('.tips').text(str); 148 $('#inp').val(""); 149 function submit() { 150 $('#inp').focus(); 151 var txt=$('#inp').val(); 152 eTime=new Date(); 153 var s=(eTime-sTime)/1000; 154 sTime=new Date(); 155 clearInterval(timer); 156 timer=null; 157 if(1){//txt==str 158 $('.showList').append('<p class="show">第 <b>'+ ++i+'</b> 次, <span class="fb">'+s+'</span> 秒</p>'); 159 $('#inp').val(""); 160 }else{ 161 // $('.alert').show(); 162 alert('输入有误,请重新输入'); 163 } 164 $('.showList').scrollTop(i*80); 165 startTime(); 166 } 167 $('#start').click(function(){ 168 clearInterval(timer); 169 timer=null; 170 sTime=new Date(); 171 $('#inp').focus(); 172 $('#inp').val(''); 173 startTime(); 174 }); 175 function startTime(){ 176 var j=0; 177 timer=setInterval(function(){ 178 $('.seconds>span').text(j++); 179 },100); 180 index=$("#listWords option:selected").val(); 181 str=ranStr(words[index]); 182 $('.tips').text(str); 183 }; 184 $('#submit').click(function(){ 185 submit(); 186 }); 187 $('#listWords').change(function(){ 188 index=$("#listWords option:selected").val(); 189 str=words[index]; 190 $('.tips').text(str); 191 }); 192 193 function randomsort(a, b) { 194 return Math.random()>.5 ? -1 : 1;//用Math.random()函数生成0~1之间的随机数与0.5比较,返回-1或1 195 } 196 var arr = ["a","b","c","d","f","e","g","h"]; 197 arr.sort(randomsort); 198 function ranStr(str){return str.split('').sort(randomsort).join('');} 199 document.onkeydown = function () { 200 var e = window.event || arguments[0]; 201 switch (e.keyCode) { 202 case 13: 203 submit(); 204 break;//空格刷新页面 205 } 206 } 207 }); 208 </script> 209 </body> 210 </html>
haley欢迎您来访本博客。此博客是作者在工作中的一个记事本,方便下次遇到同样问题时,以最快的速度解决掉遇到的问题。如果您发现哪里写的不对,欢迎给我留言,让我们一起进步。不胜感激!