ReactとJavaScriptでフルスクリーンスクロールのウェブサイトを作成するためのチュートリアル

共有

フルスクリーンスクロールのウェブサイト

このコードは、React と JavaScript で書かれた、5 つのセクションを持つフルスクリーンスクロールのウェブサイトを作成します。各セクションには、背景画像、タイトル、グラデーションオーバーレイがあります。ユーザーは、マウスホイールまたはタップしてセクション間をスクロールできます。

コードの主な部分

  • App コンポーネントは、アプリケーションのメインコンポーネントです。ヘッダーと 5 つのセクションをレンダリングします。
  • Section コンポーネントは、単一のセクションをレンダリングする再利用可能なコンポーネントです。次の props を受け取ります。
    • id: セクションの ID
    • title: セクションのタイトル
    • className: セクションの CSS クラス名
    • bgUrl: 背景画像の URL
  • gotoSection 関数は、特定のセクションにスクロールするために使用されます。2 つの引数を受け取ります。
    • index: スクロールするセクションのインデックス
    • direction: スクロールの方向 (1 は下にスクロール、-1 は上にスクロール)
  • navigateSectionById 関数は、ID でセクションにスクロールするために使用されます。1 つの引数を受け取ります。
    • id: スクロールするセクションの ID
  • useEffect フックは、スクロールとタップのイベントリスナーをセットアップするために使用されます。

コードの詳細な説明

App コンポーネント

const App = () => {
  //
} 

App コンポーネントは React 関数コンポーネントです。ヘッダーと 5 つのセクションの JSX を返します。

Section コンポーネント

const Section = ({ id, title, className, bgUrl }) => {
  // 
}

Section コンポーネントは React 関数コンポーネントです。単一のセクションの JSX を返します。

gotoSection 関数

gotoSection(index, direction) {
  // 
}

gotoSection 関数は、特定のセクションにスクロールするために使用されます。まず、direction 引数を考慮して、スクロールするセクションのインデックスを計算します。次に、アニメーションが実行されている間にユーザーがスクロールできないように、animating 変数を true に設定します。

navigateSectionById 関数

navigateSectionById(id) {
  // 
}

navigateSectionById 関数は、ID でセクションにスクロールするために使用されます。まず、指定された ID のセクションのインデックスを見つけます。インデックスが -1 でない場合、関数は gotoSection 関数を呼び出してセクションにスクロールします。

useEffect フック

useEffect(() => {
  // 
}, [])

useEffect フックは、スクロールとタップのイベントリスナーをセットアップするために使用されます。

コードのいくつかの具体的なポイント

  • gotoSection 関数は、アニメーションを使用してセクション間の切り替えをスムーズにします。
  • useEffect フックは、スクロールとタップのイベントリスナーを一度だけ登録するようにします。
  • navigationBar div 要素には、各セクションへのリンクが含まれています。

より高度な機能

このコードは、フルスクリーンスクロールのウェブサイトを作成するための基本的な例です。より高度な機能を追加するには、次のことができます。

  • セクションのコンテンツを動的にレンダリングする
  • セクションの間のトランジションをカスタマイズする
  • ナビゲーションバーを改善する

これらの機能は、アプリケーションの特定のニーズに合わせてカスタマイズできます。

共有

🌐公式サイト