プログレスバーを設置してフォーム内での進行状況を可視化する
2023年12月5日
setInterval() を使用したプログレスバーの設定方法
フォーム内で進行状況バーまたはステップインジケーターを使うと、特に長いフォームや複数のステップがある場合、ユーザーが現在の位置と残りのステップを簡単に理解できます。これにより、ユーザーの不安や混乱が減り、フォームを途中で離脱することが少なくなります。また、進行状況の可視化はユーザーに達成感を与え、全体的な体験を向上させます。
入力フォーム上でプログレスバーを表示し、ユーザーに現在の進行状況や読み込み状態を視覚的に示しましょう。JavaScriptのsetInterval()関数を活用することで、動的かつ連続的なプログレスバーを実装できます。
setInterval()は、指定された時間間隔ごとに関数を繰り返し実行するJavaScriptの関数です。この機能を用いて、プログレスバーの進捗を定期的に更新することが可能です。
プログレスバーの実装
プログレスバーはHTMLとCSSで構築し、JavaScriptで制御します。HTMLではバーのコンテナとバー自体を定義し、CSSでスタイリングを行います。JavaScriptではsetInterval()を使用して、バーの幅を時間経過と共に増やすことで進捗を示します。
setInterval() を使用したプログレスバーの基本的なコード例
HTMLでプログレスバーの構造を作り、CSSでスタイリングし、JavaScriptで進捗を制御します。
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Progress Bar Example</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div id="progress-container">
<div id="progress-bar"></div>
</div>
<script src="script.js"></script>
</body>
</html>
CSS:
#progress-container {
width: 100%;
background-color: #ddd;
}
#progress-bar {
width: 0%;
height: 20px;
background-color: #4CAF50;
}
JavaScript:
let width = 0;
const progressBar = document.getElementById('progress-bar');
const interval = setInterval(function() {
width++;
progressBar.style.width = width + '%';
if (width >= 100) {
clearInterval(interval);
}
}, 100); // 100ミリ秒ごとに幅を1%増やす
このコードでは、プログレスバーの幅が0%から始まり、100ミリ秒ごとに1%ずつ増加します。プログレスバーが100%に達した時点で、setInterval()は停止します。