console
function tip(text){
document.getElementById('tip').innerHTML=text
}
let key_records=[[],[],[]]
let flight_times=[[],[],[]]
let key_records2=[]
let flight_times2=[]
const signup_index_max = 3
let signup_index=0
let status=''
document.getElementById('signup').onclick=function(){
status = 'signup'
signup_index=0
document.getElementById('password').value=""
tip(`正在注册,请第${signup_index+1}次输入密码,回车键确定`)
}
document.getElementById('password').onkeydown=function(event){
if(status == 'signup'){
key_records[signup_index].push({
key:event.key,
down_time:event.timeStamp,
up_time:null
})
}else{
key_records2.push({
key:event.key,
down_time:event.timeStamp,
up_time:null
})
}
}
document.getElementById('password').onkeyup=function(event){
if(status == 'signup'){
for(let i=0;i<key_records[signup_index].length;i++){
if(key_records[signup_index][i].up_time==null && key_records[signup_index][i].key==event.key){
key_records[signup_index][i].up_time=event.timeStamp
}
}
if(event.key=="Enter"){
document.getElementById('password').value=""
signup_index++
if(signup_index>=signup_index_max){
status="signin"
set_flight_times()
tip(`注册完成`)
}else{
tip(`正在注册,请第${signup_index+1}次输入密码,回车键确定`)
}
}
}else{
for(let i=0;i<key_records2.length;i++){
if(key_records2[i].up_time==null && key_records2[i].key==event.key){
key_records2[i].up_time=event.timeStamp
}
}
if(event.key=="Enter"){
document.getElementById('password').value=""
for(let j=1;j<key_records2.length;j++){
flight_times2.push(key_records2[j]['down_time']-key_records2[j-1]['up_time'])
}
let sumb = eval(flight_times2.join("+"))
let suma = eval(flight_times[0].join("+"))
let n1=0,n2=0,n3=0
for(let i=0;i<flight_times2.length;i++){
n1+=flight_times[0][i]*flight_times2[i]
n2+=flight_times[0][i]*flight_times[0][i]
n3+=flight_times2[i]*flight_times2[i]
}
let m = n1/Math.sqrt(n2)/Math.sqrt(n3)
key_records2.length=0
flight_times2.length=0
tip(`${m}`)
}
}
}
function set_flight_times(){
for(let i=0;i<key_records.length;i++){
for(let j=1;j<key_records[i].length;j++){
flight_times[i].push(key_records[i][j]['down_time']-key_records[i][j-1]['up_time'])
}
}
}
<div>
<button id='signup'>注册</button>
<button id='signin'>登录</button>
</div>
<input id='password'></input>
<div>
<span id="tip"></span>
</div>