JavaScriptタイマーとボタン効果設定の詳細な説明

JavaScriptタイマーとボタン効果設定の詳細な説明

タイマー効果:

 <div>
    <font id='timeCount' style='display:inline-block; font-size:72px;width:100px;text-align:right;'>0</font> &nbsp;&nbsp;&nbsp;
    // 時間値が 9 から 10 (および 99 から 100) に変わるときに次の 3 つの画像の位置が変わらないように、時間値の幅を固定する必要があります。 // ただし、フォントはインライン要素であり、幅を設定できないため、フォントはインライン ブロック要素 display:inline-block に変更されます。
    <img src='start.png' class='imgBtn' onclick="start(this)" >
    <img src='suspend.png' class='imgBtn' onclick="suspend(this)">
    <img src='stop.png' class='imgBtn' onclick="stop(this)">
</div>
 .imgBtn{ 
    カーソル:ポインタ; 
    幅:25px;
    高さ:25px;
}
 var timerState=2; //0-開始(計時中) 1-一時停止(計時を一時停止) 2-停止(計時を停止)
var timerID; //タイマー //開始ボタンをクリックして関数を呼び出します function start(obj){
	if(timerState==0) //現在の状態がタイミングの場合、このクリックは機能しません。 return;
	それ以外
	{
		timerState=0;//インジケーターはタイミングです changeImgBtnState(); //ボタンの表示効果を変更します timerID=setInterval("f7()",500); //タイマーを開始します }
}
関数suspend(obj){
	タイマー状態==1 || タイマー状態==2の場合
		return; //現在の状態が一時停止またはタイミングの停止である場合、このクリックは機能しません。
	{
		timerState=1; //一時停止のタイミングをマーク changeImgBtnState(); //ボタンの表示効果を変更 clearInterval(timerID); //タイマーをクリア }
}
関数stop(obj){
	if(timerState==2) //現在の状態が計時を停止することである場合、このクリックは機能しません。 return;
	if(timerState==0) //現在の状態がタイミングの場合、タイマーをクリアします。clearInterval(timerID); 
	document.getElementById('timeCount').innerHTML=0; //タイマー値をリセット timerState=2; //タイマーを停止 changeImgBtnState(); //ボタンの表示効果を変更}
関数 f7()
{
	var i = document.getElementById('timeCount').innerHTML;
	document.getElementById('timeCount').innerHTML=parseInt(i)+1;
}
関数changeImgBtnState(){
	var imgBtn = document.getElementsByClassName('imgBtn');
	(var i=0;i<3;i++){
		imgBtnState(imgBtn[i], タイマー状態!=i);
	}
}
関数imgBtnState(obj,flag){
	if(flag==false) //ボタンは使用できません obj.style.cssText="border:1px solid black;width:15px;height:15px;padding:5px;";
	それ以外
		obj.style.cssText="border:0px solid black;width:25px;height:25px;padding:0px;";
}

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue.jsはシンプルなタイマー機能を実装します
  • JavaScript でシンプルなタイマーを実装する
  • JSはストップウォッチタイマーを実装します
  • JSはsetIntervalタイマーを使用して10秒間のチャレンジを実装します
  • JavaScriptで見栄えの良いストップウォッチタイマーを実装する
  • JavaScript setInterval() と setTimeout() タイマー
  • jsは組み込みタイマーを実装します

<<:  ウェブページ制作でウェブフォントファイルにベクターアイコンを追加する方法

>>:  MySQL データベースのマスター・スレーブ レプリケーションと読み取り/書き込み分離

推薦する

Linux の MariaDB データベースについて

目次Linux の MariaDB データベースについて1. データベースとは何ですか? 2. デー...

Vue.js フロントエンドプロジェクト向け多言語ソリューションのアイデアと実践

目次1. 通常どのようなコンテンツを処理する必要があるか2. 基本的な考え方3. 具体的な実践の詳細...

MySQL マスタースレーブ構成の学習ノート

● 新しいプロジェクトのセキュリティを確保するためにクラウド データを購入する予定でした。 Alib...

React Hooks に基づく小さな状態管理の詳細な説明

目次React Hooks に基づく状態共有の実装ユーザーエクスペリエンスこの記事では、主に Rea...

MySQLのファジークエリのような遅い速度を解決する方法

質問: インデックスは作成されているのに、Like ファジー クエリがまだ遅いのはなぜですか?インデ...

Centos7 への mysql8.0rpm のインストール チュートリアル

まず、図をダウンロードしてください 1. まず、centos7に付属しているmariadbをアンイン...

CentOS 6.5 インストール mysql5.7 チュートリアル

1. 新機能MySQL 5.7 はエキサイティングなマイルストーンです。デフォルトの InnoDB ...

Vue2.x プロジェクトのパフォーマンス最適化のためのコード最適化の実装

目次1 v-ifとv-showの使用2. 計算と監視を区別する3 v-for トラバーサルでは、アイ...

独自のネイティブ JavaScript ルーターを作成する方法

目次序文導入JavaScript 履歴 API独自のネイティブJSルーティングを実装するHistor...

Vueのdiffアルゴリズムについての簡単な説明

目次概要バーチャルドム原理実装プロセスパッチ方式sameVnode関数patchVnode関数upd...

ES6の新機能に関する最もよく使われる知識ポイントのまとめ

目次1. キーワード2. 脱構築3. 文字列4. 正規化5. 配列6. 機能7. オブジェクト8.シ...

MySQL関数の包括的な概要

目次1. MySQLでよく使われる文字列関数2. 数値関数3. 日付と時刻の機能4. プロセス機能5...

mysqlはルートユーザーと一般ユーザーを作成し、機能を変更および削除します。

方法1: SET PASSWORDコマンドを使用する mysql -u ルート mysql> ...

MySQL内部一時テーブルの具体的な使用法

目次連合テーブルの初期化ステートメントの実行連合の結果ユニオンオールグループ化十分なメモリステートメ...

Vue を通じて QR コードスキャン機能を実装する

ヒントこのプラグインは https プロトコルでのみアクセスできます。http プロトコルはうまく機...