See the Pen
Untitled by nakasan (@coder-memo)
on CodePen.
このコードは、ウェブページ上でスクロールイベントを扱い、特定の要素がビューポートに入った際にアニメーションやスタイルの変更を行うためのJavaScriptコードです。それぞれの部分について説明します。
- ウィンドウのスクロールイベントを設定する:
javascript
$(window).scroll(function () {
executeScrollFunction();
});
この部分は、ブラウザウィンドウのスクロールイベントに
executeScrollFunction
関数をバインドしています。ユーザーがスクロールするたびにこの関数が呼び出されます。 executeScrollFunction
関数の定義:javascriptfunction executeScrollFunction() {
$('.js-fade').each(function () {
// ...
});
}
この関数は、クラス名
.js-fade
を持つすべての要素に対して操作を行います。.each()
メソッドは、これらの要素それぞれに対して指定された関数を実行します。- 各要素に対する操作:
javascript
var pos = $(this).offset().top;
var scroll = $(window).scrollTop();
var windowHeight = $(window).height();
if (scroll > pos - windowHeight + 100) {
$(this).addClass('scroll');
}
ここでは、各
.js-fade
要素に対して以下のステップを実行します:pos
: 要素のドキュメントの先頭からの垂直位置を取得します。scroll
: 現在のスクロール位置(ウィンドウの上端からの距離)を取得します。windowHeight
: ブラウザウィンドウの高さを取得します。- 最後の
if
文では、要素がビューポートの下端よりも上にあるかどうかをチェックします(100
ピクセルのオフセットを加えて)。この条件が真の場合、その要素にscroll
クラスを追加します。
このコードは、スクロールに応じて特定の要素にアニメーションやスタイルの変更を加えるためによく使われます。たとえば、スクロールによって要素がビューポートに入った際にフェードインするような効果を実現できます。