ホームページ  >  記事  >  ウェブフロントエンド  >  javascript_javascript スキルでタイマーを実装する簡単な方法

javascript_javascript スキルでタイマーを実装する簡単な方法

WBOY
WBOYオリジナル
2016-05-16 15:14:301140ブラウズ

タイマーは、運動、競技会の実行、その他の関連アクティビティなど、日常生活で頻繁に使用される機能でもあります。

タイマーは主に時間の論理処理です。たとえば、60 秒は 1 分に相当し、60 分は 1 時間に相当します。このような単純なロジックを動的に表示します。内部入力内。


それでは、このインターフェースを完成させましょう

<label>计时:</label> 
<input type="text" name="" id="timer"/> 
<button onclick="pause(this)" id="pause" state="on">暂停</button>
<button onclick="restart()">重新开始</button>

ラベル要素に ID を与える目的は、ラベルを取得し、2 つのクリック イベント、カウンターの一時停止イベント、および再開イベントを追加することです。

まず、計時を開始するプロセスを完了しましょう。計時を開始するには、主に setInterval メソッドを使用します。これは、冒頭で述べたように、時間を処理できるように 1 秒ごとにメソッドを実行します。は 1 分... に等しいため、ここでは判断を使用して処理し、最終的に取得した秒、分、時間を入力ボックスに表示する必要があります。

var ele_timer = document.getElementById("timer");
var n_sec = 0; //秒
var n_min = 0; //分
var n_hour = 0; //时

//60秒 === 1分
//60分 === 1小时
function timer() {
 return setInterval(function () {

  var str_sec = n_sec;
  var str_min = n_min;
  var str_hour = n_hour;
  if ( n_sec < 10) {
   str_sec = "0" + n_sec;
  }
  if ( n_min < 10 ) {
   str_min = "0" + n_min;
  }

  if ( n_hour < 10 ) {
   str_hour = "0" + n_hour;
  }

  var time = str_hour + ":" + str_min + ":" + str_sec;
  ele_timer.value = time;
  n_sec++;
  if (n_sec > 59){
   n_sec = 0;
   n_min++;
  }
  if (n_min > 59) {
   n_sec = 0;
   n_hour++;
  }


 }, 1000);
}

var n_timer = timer();

処理を一時停止して後で再開するために、タイマー メソッドを使用して setInterval メソッドをラップします。

ユーザーが「一時停止」をクリックすると、タイマーは計測を停止します。ユーザーがボタンをクリックし続けると、タイマーは計測を継続します。このため、この状態については、ボタンに属性を与えます。 🎜>

//暂停和继续
function pause(self) {
  var state = self.getAttribute("state");
  if (state === "on") {
   clearInterval(n_timer);
   self.textContent = "继续";
   self.setAttribute("state", "off");
  } else {
   n_timer = timer();
   self.textContent = "暂停";
   self.setAttribute("state", "on");
  }
}
最後に、イベントの再開を見てみましょう。カウンターを 0 にクリアしてから、一時停止ボタンの初期状態を変更します。


function restart() {
 clearInterval(n_timer);
 n_sec = 0;
 n_min = 0;
 n_hour = 0;
 n_timer = timer();

 var ele_pause = document.getElementById("pause");
 ele_pause.textContent = "暂停";
 ele_pause.setAttribute("state", "on");
}

これでタイミング機能は完了です。効果は次のとおりです。

この記事が JavaScript プログラミングを学習するすべての人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。