MENU
  • ブログBlog
  • プロフィールProfile
  • ポートフォリオPortfolio
  • お問い合わせContact
  • お絵描き道場drawing dojo
「社会不適合者の生き方」
くじらいどブログ
  • ブログBlog
  • プロフィールProfile
  • ポートフォリオPortfolio
  • お問い合わせContact
  • お絵描き道場drawing dojo
くじらいどブログ
  • ブログBlog
  • プロフィールProfile
  • ポートフォリオPortfolio
  • お問い合わせContact
  • お絵描き道場drawing dojo
  1. ホーム
  2. PC
  3. 【JavaScript】デジタル時計を作成し、setIntervalで1秒ごとに更新する方法

【JavaScript】デジタル時計を作成し、setIntervalで1秒ごとに更新する方法

2024 11/07
PC プログラミング
2023年7月5日2024年11月7日

どうもくじらいどです。

今回は、指定した時間間隔ごとに指定した関数を実行することができるsetInterval関数を使用して、デジタル時計を作成し、1秒ごとに時間を更新する方法を紹介したいと思います。

完成系は以下のような感じになります。このページを開いてから、処理が発火します。現在時刻を取得して表示され、そして1秒ごとに時間が更新されていきます。

つまり現在時刻が表示され続けるという訳です。

目次

setInterval関数の解説

setIntervalは、JavaScriptで定期的なタスクの実行をスケジュールするための関数です。指定した時間間隔ごとに指定した関数を実行することができます。

setInterval関数は以下のような構文を持ちます:

setInterval(callback, 1000, 引数1, 引数2, ...)
  • callbackは定期的に実行される関数です。
  • 2つ目の引数は実行間隔をミリ秒単位で指定します。つまり、この時間間隔ごとにcallbackが呼び出されます。今回は1000ミリ秒を指定しているので1秒ごとにcallbackが呼び出されるということなります。
  • 引数1, 引数2, …はオプションの引数で、callback関数に渡される引数です。

clearInterval関数の解説

clearIntervalは、setIntervalによって設定されたタイマーを停止するための関数です。指定したタイマーIDに関連付けられたタイマーをキャンセルし、実行を停止します。

今回は、現在時刻を取得して、1秒ごとに時間を更新して現在時刻のデジタル時計を表示するという処理なので時間の更新処理の削除は必要ないと思いますが、例えば、10秒から0秒までのカウントダウンタイマーを作成したい場合は、カウントが0になった場合、それ以上はカウントする処理は必要がないため、タイマーを停止させなければいけません。

clearInterval関数の構文は以下の通りです:

clearInterval(intervalId);

intervalIdは停止したいタイマーのIDです。これはsetInterval関数の呼び出しによって返される値です。

// 10秒から0秒までのカウントダウンを行うため、countの初期値を10に設定する
let count = 10;

// カウントダウンタイマーの開始
const intervalId = setInterval(function() {
  console.log(count);
  // 変数の値を1だけ減らす--演算子(デクリメント演算子)で1秒ごとにカウントを1づつ減らしていく
  count--;

  if (count === 0) {
    clearInterval(intervalId); // カウントが0になったらタイマーを停止
    console.log('タイマー終了');
  }
}, 1000);

上記のコードでは、count変数を初期値10で設定し、1秒ごとに1ずつ減算しています。setInterval関数には、カウントダウンの処理を含むコールバック関数が渡されています。

カウントが0になった時点で、clearInterval(intervalId)が呼び出されます。これにより、タイマーが停止します。intervalIdはsetInterval関数によって返されるタイマーIDであり、clearInterval関数によってタイマーが識別されます。

clearIntervalは、指定したタイマーIDに関連付けられたタイマーを停止する役割を果たします。これにより、カウントダウンが終了した後に不要な処理が継続するのを防ぎ、リソースの節約や余分なコードの実行を回避することができます。

タイマーを停止することで、不要なリソースの使用を防いだり、処理の実行を制御したりすることができます。clearIntervalを適切に使用することで、必要なタイミングでタイマーを停止させることができます。

デジタル時計を作成し、setIntervalで1秒ごとに更新するコードの解説

それでは今回の現在時刻を表示するデジタル時計の処理を紹介したいと思います。

以下が、デジタル時計を作成し、setIntervalで1秒ごとに更新するコードの全てです。

clock.html

<div id="clock"></div>

デジタル時計を表示するHTMLに、上記の記述を追加してください。

clock.js

// デジタル時計を更新する関数
function updateClock() {
  // 現在の日時を取得します。new Date()を使用して現在の時刻を表すDateオブジェクトを作成します。
  const now = new Date();
  // 現在の時刻から時、分、秒を取得します。getHours()、getMinutes()、getSeconds()を使用してそれぞれを取得します。
  // 時、分、秒を2桁の文字列に変換します。String()を使用して数値を文字列に変換し、padStart()を使用して文字列が2桁になるように左側に0を追加します。
  const hours = String(now.getHours()).padStart(2, '0');
  const minutes = String(now.getMinutes()).padStart(2, '0');
  const seconds = String(now.getSeconds()).padStart(2, '0');
  // 時、分、秒を結合して時刻を表す文字列を作成します。
  const time = hours + ':' + minutes + ':' + seconds;
  // popup.htmlの<div id="clock"></div>に現在時刻を挿入する
  document.getElementById('clock').textContent = time;
}

// updateClock()関数が1秒ごとに繰り返し実行されるタイマーが設定されます。これにより、時計が自動的に更新されます。
const intervalId = setInterval(updateClock, 1000);

// 初回の時計更新が行われます。これにより、ページが読み込まれた直後に正しい時刻が表示されます。
updateClock();

// このコードは、デジタル時計を作成し、1秒ごとに自動的に更新するためのものです。

updateClock 関数の定義

function updateClock() {
  const now = new Date();
  const hours = String(now.getHours()).padStart(2, '0');
  const minutes = String(now.getMinutes()).padStart(2, '0');
  const seconds = String(now.getSeconds()).padStart(2, '0');
  const time = hours + ':' + minutes + ':' + seconds;
  document.getElementById('clock').textContent = time;
}

この関数は、現在の時刻を取得し、デジタル時計を更新する役割を持ちます。

まず、new Date() を使用して現在の時刻を表す Date オブジェクトを作成します。

その後、getHours()、getMinutes()、getSeconds() を使用して現在の時、分、秒を取得します。

取得した数値を String() を使って文字列に変換し、padStart() を使用してそれぞれの文字列が2桁になるように左側に0を追加します。

最後に、時、分、秒を結合して time 変数に格納します。

そして、document.getElementById('clock').textContent を使って、HTML ページ内の <div id="clock"></div> 要素に時刻を表示します。

setInterval を使用してタイマーを設定するコード

const intervalId = setInterval(updateClock, 1000);

setInterval() 関数は、一定の時間間隔で関数を繰り返し実行するためのタイマーを設定します。

ここでは、updateClock 関数を1秒ごとに実行するように設定しています。

この関数の戻り値として、タイマーの識別子を intervalId 変数に代入しています。

初回の時計更新を行うコード

updateClock();

このコードは、ページが読み込まれた直後に正しい時刻が表示されるように、初回の時計更新を行っています。

以上が、与えられたコードの解説です。このコードを実行すると、デジタル時計が表示され、1秒ごとに時刻が自動的に更新されます。

clock.css

/* デジタル時計のスタイルを調整 */
#clock {
    font-family: Arial, sans-serif;
    font-size: 48px;
    font-weight: bold;
    padding: 10px;
    margin: 0 auto;
    border: 2px solid #000;
    border-radius: 5px;
    text-align: center;
    width: 300px;
  }

デジタル時計のスタイルを調整します。必要に応じて修正してください。

まとめ

いかがでしたでしょうか。

この記事では、JavaScriptを使用してデジタル時計を作成し、1秒ごとに自動的に時刻を更新する方法について紹介をさせていただきました。

setInterval() メソッドは、時計以外にもさまざまな処理に活用することができます。

例えば、setInterval() を使用して定期的にデータを取得し、表示を更新することができます。例えば、株価の更新、天気情報の表示などが挙げられます。

また、 setInterval() と同様に、setTimeout() メソッドも時間に基づいた処理を行うためのメソッドです。以下に setTimeout() の特徴を説明します。

  • setTimeout() は、指定された時間の経過後に一度だけコールバック関数を実行します。一定の遅延後に処理を実行する場合に適しています。
  • setTimeout() は、一度の実行だけを行うため、繰り返し処理には setInterval() を使用する方が適しています。

これらのメソッドを組み合わせることで、JavaScriptでさまざまな時間に基づいた処理やアプリケーションを実装することができます。適切に利用することで、ユーザーエクスペリエンスの向上や効率的なタスクの実行に役立ちます。

以上が、setInterval() の他の利用事例と setTimeout() についての説明です。これらのメソッドを適切に活用し、さまざまなJavaScriptの処理やアプリケーションに応用してみてください。

PC プログラミング
JavaScript プログラミング
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
  • Googleスプレッドシートのチェックボックスと行の色付けを連動させる
  • 「相対参照」と「絶対参照」

この記事を書いた人

くじらいどのアバター くじらいど

アラサー社会不適合者のくじらいどです。

普段は、youtubeで動画投稿やこのサイトでブログ投稿をしています。

喘息、アトピー、鼻炎持ち
教育失敗の世間知らず

自分にできることをやるだけ

関連記事

  • Google Chrome 最新バージョンに更新する方法
    2024年11月17日
  • Google Chromeで動作が遅くなる原因と対処法
    2024年10月18日
  • Googleドライブの容量を節約する方法とは?
    2024年10月16日
  • 無料で便利!定番オンラインバックアップサービス5選
    2024年10月16日
  • Windows 10 隠しファイルを表示する簡単な方法
    2024年10月15日
  • Microsoft Edgeのフィードを非表示にする方法、背景画像の変更方法、テーマ設定方法
    2024年10月11日
  • Windows10 で既定のアプリを変更する方法
    2024年10月11日
  • Windows 10 ファイルの拡張子を表示させる方法
    2024年10月9日

コメント

コメントする コメントをキャンセル

CAPTCHA

最近の投稿

  • くじランドに遊びに来てね!【くじランド】
  • ぬらりひょんとは? わしが解説する【くじランド】
  • チャンネル登録者数10人を達成しました!
  • チャンネル登録者数1人を達成しました!
  • Youtube投稿始めました!

最近のコメント

  1. 深夜セルフガソリンスタンド監視アルバイトの当たり現場と外れ現場 に Chet Garfinkel より
  2. Google Apps Script (GAS) 初回実行時のアクセス権限の承認方法 に くじらいど より
  3. Google Apps Script (GAS) 初回実行時のアクセス権限の承認方法 に tlover tonet より
  4. Google Chromeのホーム画面の背景を変更する方法(好きな画像に変更) に くじらいど より
  5. Google Apps Script (GAS) シートの値を削除する方法 に くじらいど より

アーカイブ

  • 2025年3月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2024年2月
  • 2023年7月
  • 2023年6月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月

カテゴリー

  • PC
  • お知らせ
  • デザイン
  • プログラミング
  • 体験談
  • 日常
くじらいど
社会不適合者 / 趣味クリエイター
アラサー社会不適合者のくじらいどです。

普段は、youtubeで動画投稿やこのサイトでブログ投稿をしています。

喘息、アトピー、鼻炎持ち
教育失敗の世間知らず

自分にできることをやるだけ

プロフィール
目次
  • X
  • YouTube
  • Mail
  • 運営者情報
  • プライバシーポリシー
  • お問い合わせ

© くじらいどブログ.

  • メニュー
  • 検索
  • 目次
  • トップへ
目次