クリック時カウントリセットしたい(自分用メモ)
やりたい事
①画面表示した時カウントスタート
②画面のどこかをクリックするとカウントをリセット
③カウントリセットして0からカウントスタートする
※②から③の間はクリックしないこと
イメージ
カウントスタート⇒クリック⇒カウント0⇒カウントスタート
使う関数
①setInterval()
javascript
//10カウントした後画面遷移
var count = 0;
var countup = function(){
console.log(count++);
jump(count);
}
document.onclick = function (e){
if(!e) e = window.event;
console.log(e);
count = 0;
};
var counter = setInterval( countup, 1000 );
function jump(count){
if(count == 10){ //カウント10で画面遷移
window.location.href = 遷移先;
}
}
#追記
*2019/10/15 このカウント方法だとクリックするたびに加速する現象が発生して、思うようにカウントが取れない。。。
改良版
画面開いた時間とクリックした時間を比較して画面遷移するように改良
javascript
var displayTime = new Date();
window.onload = function(){
//1000ミリ秒(1秒)毎に関数「timeoutDate()」を呼び出す
setInterval("timeoutDate()", 1000);
}
//画面表示時の時刻と処理発生時の現在時刻を比較
function timeoutDate(){
var nowTime = new Date();
//var DifferenceTime = nowTime - displayTime;
var displaySecond = displayTime / 1000;
var nowSecond = nowTime / 1000;
//console.log(displaySecond);
//console.log(nowSecond);
var differenceSecond = nowSecond - displaySecond;
//console.log(differenceSecond);
if(differenceSecond > 14400){
window.location.href = 遷移先;
}
}
//クリックイベント
document.onclick = function (e){
if(!e) e = window.event;
displayTime = new Date();
};