📄 enjc.htm
字号:
<html>
<head>
<title>键盘基础练习</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
body { margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px}
-->
</style>
<bgsound id=bgsong src="" >
<script language="javaScript" >
//table { font-family: "Verdana"; font-size: 12px; color: #000000; text-decoration: none; border: 1px #000000 dashed; filter: Alpha(Opacity=60); background-color: #CC66FF}
//div { font-family: "Verdana"; font-size: 12px; color: #000000; text-decoration: none; border: 1px #000000 dashed; filter: Alpha(Opacity=60); background-color: #99cc00}
//*************************************
//>>>>>> 英文基础练习 <<<<<<<<<<<<
//>>>>>> Right By Piaoyang80<<<<<<<<<<<<
//>>>>>> 2003/05/21 <<<<<<<<<<<<
//*************************************
//---------------------------------------
//////////////数据说明///////////////////
//设置键盘跟keycode之间的对应。
//setk() 数组是按手指练习的队列1。
//setp() 数组是按位置练习的队列2。
//setkh(),setkp是setk()和setp()所对应的手指位置队列。
//showk() 数组是要显示在显示栏里的目标字符队列,长度为6。
//showh() 相应于 showk的手的位置队列
//showmode 打字模式,首先是顺序显示1,后是随机显示2。
//setmode 设置当前模式是按手指还是位置?手指=1,位置=2
//setmodearray设置当前模式下的具体练习对象?
//savemode 进入设置菜单时保存模式;
//savemodearray
//tmpmode 进入设置菜单后保存数据;
//tmpmodearray
//setshowk 设置当前keycoe数组;
//setshowh 设置当前手的位置数组;
//seted 记录是否已经初始化setshowk();1=已初始化,0=未初始化;
//showk_len 记录当前数组的最大长度。
//imgPath 图片的路径
/////////////////////////////////////////
var showmode=1;
var setmode=1;
var setmodearray=1;
var seted=0;
var setshowk=new Array(14);
var setshowh=new Array(14);
var showk_len=0;
var showk=new Array(6);
var showh=new Array(6);
var imgPath="..\\pub\\img\\";
var mode1_i_now=0;//记录总的次数
var currentKey=0; //记录当前次数小于6
var kcode=new Array(0,0,0);
var savemode=1;
var savemodearray=1;
var tmpmode=1;
var tmpmodearray=0;
var t_key=0;
//--------------------------------------
//setk()数组设置
var ti;
var setk= new Array(4);
//如果不想带数字区把数组里面的"49"等数字的ascii码删掉就可以了。
setk[0]= new Array("81","65","90","80","186","191");
setk[1]= new Array("87","83","88","79","76","190");
setk[2]= new Array("69","68","67","73","75","188");
setk[3]= new Array("82","70","86","85","74","77","84","71","66","89","72","78");
//setpkp()数组设置
var setkh=new Array(4);
setkh[0]=new Array("hand_l1","hand_l1","hand_l1","hand_r1","hand_r1","hand_r1");
setkh[1]=new Array("hand_l2","hand_l2","hand_l2","hand_r2","hand_r2","hand_r2");
setkh[2]=new Array("hand_l3","hand_l3","hand_l3","hand_r3","hand_r3","hand_r3");
setkh[3]=new Array("hand_l4","hand_l4","hand_l4","hand_r4","hand_r4","hand_r4","hand_l4","hand_l4","hand_l4","hand_r4","hand_r4","hand_r4");
//setp数组设置
var setp=new Array(3);
//setp[0]=new Array("49","50","51","52","53","54","55","56","57","48");
setp[0]=new Array("81","87","69","82","84","89","85","73","79","80");
setp[1]=new Array("65","83","68","70","71","72","74","75","76","186");
setp[2]=new Array("90","88","67","86","66","78","77","188","190","191");
//setph数组设置
var setph=new Array(3);
//setph[0]=new Array("hand_l1","hand_l2","hand_l3","hand_l4","hand_l4","hand_r4","hand_r4","hand_r3","hand_r2","hand_r1");
setph[0]=new Array("hand_l1","hand_l2","hand_l3","hand_l4","hand_l4","hand_r4","hand_r4","hand_r3","hand_r2","hand_r1");
setph[1]=new Array("hand_l1","hand_l2","hand_l3","hand_l4","hand_l4","hand_r4","hand_r4","hand_r3","hand_r2","hand_r1");
setph[2]=new Array("hand_l1","hand_l2","hand_l3","hand_l4","hand_l4","hand_r4","hand_r4","hand_r3","hand_r2","hand_r1");
//顺序显示模式
function mode1(){
var i=0;
var j=0;
if (seted==0){
//初始化
mode1_i_now=0;
currentKey=0;
if (setmode==1){
//手指形式
showk_len=setk[parseInt(setmodearray)].length;
for (i=0;i<showk_len;i++){
setshowk[i]=setk[parseInt(setmodearray)][i];
setshowh[i]=setkh[parseInt(setmodearray)][i];
showmode=1;
}
}
if (setmode==2){
//位置形式
showk_len=setp[parseInt(setmodearray)].length;
for (i=0;i<showk_len;i++){
setshowk[i]=setp[parseInt(setmodearray)][i];
setshowh[i]=setph[parseInt(setmodearray)][i];
showmode=1;
}
}
}
seted=1;
if (showk_len-mode1_i_now>6){
for(i=0;i<6;i++){
//设置showk
showk[i]=setshowk[i];
showh[i]=setshowh[i]
}
//mode1_i_now=i;应该是在kdown事件里付值。
}
else{
j=0;
for(i=mode1_i_now;i<showk_len;i++){
//设置剩下的showk
showk[i-mode1_i_now]=setshowk[i];
showh[i-mode1_i_now]=setshowh[i];
j++;
}
for(i=j;i<6;i++){
showk[i]=setshowk[i];
showh[i]=setshowh[i];
showmode=2;//下次开始就是随机调用了。
}
}
//调用初始化显示区程序;
initKeybord();
//调用显示当前键盘情况程序;
showKeybord(0);
}
//随机显示模式
function mode2(){
var randomK;
var i;
for(i=0;i<6;i++){
randomK=Math.round((showk_len-1)*Math.random());
showk[i]=setshowk[randomK];
showh[i]=setshowh[randomK]
}
//调用初始化显示区程序;
initKeybord();
//调用显示当前键盘情况程序;
showKeybord(0);
}
//练习全部键盘模式
function mode3(){
var randomm;
var randomK;
var ml;
var i;
for(i=0;i<6;i++){
//定义一个区域
randomm=Math.round(2*Math.random());
//定义区域中的一个键
ml=setp[randomm].length;
randomK=Math.round((ml-1)*Math.random());
showk[i]=setp[randomm][randomK];
showh[i]=setph[randomm][randomK];
}
//调用初始化显示区程序;
initKeybord();
//调用显示当前键盘情况程序;
showKeybord(0);
}
//初始化显示区程序;
function initKeybord(){
document.all("m1").src=imgPath+showk[0]+".jpg";
document.all("m2").src=imgPath+showk[1]+".jpg";
document.all("m3").src=imgPath+showk[2]+".jpg";
document.all("m4").src=imgPath+showk[3]+".jpg";
document.all("m5").src=imgPath+showk[4]+".jpg";
document.all("m6").src=imgPath+showk[5]+".jpg";
document.all("m1").style.filter="";
document.all("m2").style.filter="";
document.all("m3").style.filter="";
document.all("m4").style.filter="";
document.all("m5").style.filter="";
document.all("m6").style.filter="";
currentKey=0;
}
//显示当前键盘情况;
function showKeybord(arryN){
var i=arryN;
var mName="m"+(arryN+1);
//设置显示区
document.all(mName).style.filter="invert()";
//设置键盘区
document.all(showk[i]).style.filter="invert()";
//设置手
var h=showh[i];
document.all("hand_l").src=imgPath+"hand_l.jpg";//恢复
document.all("hand_r").src=imgPath+"hand_r.jpg";
if (h.indexOf('l')>-1){
//左手
document.all("hand_l").src=imgPath+h+".jpg";
}
else{
//右手
document.all("hand_r").src=imgPath+h+".jpg";
}
}
//打字处理程序;
function kup(){
if (checkKey(kcode[1])>0)
document.all(kcode[1].toString()).style.filter="";
kcode[1]=event.keyCode;//当前按下的键码
if (checkKey(kcode[1])>0){
if (kcode[0] !=0) //清楚之前打错的记录
document.all(kcode[0].toString()).style.filter="";
if (kcode[1]==showk[currentKey]){
kcode[0]=0;//清楚记录
currentKey++;
mode1_i_now++;
mName="m"+currentKey;
document.all(mName).style.filter="";
document.all(kcode[1].toString()).style.filter="";
if (currentKey>=6){
currentKey=0;
if (showmode==1)
mode1();//按顺序
else if(showmode==2)
mode2();//随机
else if(showmode==3)
mode3();//全部
}
else{
showKeybord(currentKey);
}
}
else{
kcode[0]=kcode[1];
document.all(kcode[0].toString()).style.filter="Xray()"
}
}
}
function kdown(){
kcode[1]=event.keyCode;//当前按下的键码
if (checkKey(kcode[1])>0)
document.all(kcode[1].toString()).style.filter="gray()";
}
//检查所输入的是否符合规格;
function checkKey(kcode){
var ri;
ri=0;
if (kcode>47&&kcode<58)
ri=1;
if (kcode>64&&kcode<91)
ri=2;
if ((kcode>=186&&kcode<=191)||(kcode>=219&&kcode<=222))
ri=3;
return ri;
}
//保存当前状态
function savem(sm){
if(t_key==0){
savemode=sm;
savemodearray=setmodearray;
if (sm==1){
kmenu.style.visibility='';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -