はじめに
この実験では、HTML、CSS、JavaScript を使用してスクロール進捗バーを作成する方法を探ります。スクロール進捗バーは、ユーザーのページ上の現在位置と、まだ見るべきコンテンツの量を示す優れた方法です。この実験の終了時には、この機能をあなたのウェブサイトに実装する方法をより深く理解することができるでしょう。
これは Guided Lab です。学習と実践を支援するためのステップバイステップの指示を提供します。各ステップを完了し、実践的な経験を積むために、指示に注意深く従ってください。過去のデータによると、この 初級 レベルの実験の完了率は 84%です。学習者から 100% の好評価を得ています。
スクロール進捗バー
index.html と style.css はすでに仮想マシン (VM) に用意されています。
ウェブページのスクロール割合を表示する進捗バーを作成するには、以下の手順に従ってください。
- HTML コードに
idが "scroll-progress" のdiv要素を追加します。 - CSS コードで、要素の
positionをfixed、topを0、widthを0%、heightを4px、background色を#7983ffに設定します。 z-indexの値を大きな数値に設定して、進捗バーがページの最上部にあり、他のコンテンツの上に表示されるようにします。- JavaScript コードで、
document.getElementById()メソッドを使用してscroll-progress要素を選択します。 document.documentElement.scrollHeight - document.documentElement.clientHeightという式を使ってウェブページの高さを計算します。windowオブジェクトにscrollイベントを監視するイベントリスナーを追加します。- イベントリスナー関数内で、
(scrollTop / height) * 100という式を使ってドキュメントのスクロール割合を計算します。 styleプロパティを使用して、scroll-progress要素のwidthをスクロール割合に設定します。
以下がコードです。
<div id="scroll-progress"></div>
#scroll-progress {
position: fixed;
top: 0;
width: 0%;
height: 4px;
background: #7983ff;
z-index: 10000;
}
const scrollProgress = document.getElementById("scroll-progress");
const height =
document.documentElement.scrollHeight - document.documentElement.clientHeight;
window.addEventListener("scroll", () => {
const scrollTop =
document.body.scrollTop || document.documentElement.scrollTop;
scrollProgress.style.width = `${(scrollTop / height) * 100}%`;
});
右下隅にある 'Go Live' をクリックして、ポート 8080 でウェブサービスを実行してください。その後、Web 8080 タブを更新すると、ウェブページをプレビューできます。
まとめ
おめでとうございます!スクロール進捗バーの実験を完了しました。LabEx でさらに多くの実験を行い、スキルを向上させることができます。