Web テクノロジーの継続的な発展に伴い、全画面スクロール効果を使用する Web サイトがますます増えており、ユーザーは 1 ページ内で複数のコンテンツ領域を閲覧できます。この効果を実現するには多くの方法がありますが、最も一般的に使用される方法は jQuery プラグインを使用することです。しかし、今日紹介したいのは、jQueryプラグインを使わずに全画面スクロールを実現する方法です。
- HTML 構造
まず、Web サイトの HTML 構造を決定する必要があります。この例では、最初の画面の背景として画像を使用し、2 番目の画面にテキストを表示します。したがって、HTML 構造は次のようになります。
<body> <div class="section section-1"> <div class="bg-img"></div> </div> <div class="section section-2"> <div class="text"></div> </div> </body>
ページ全体が 2 つの部分に分割されており、各部分がセクションであり、最初の画面の背景が .bg-div を含むウィンドウであることがわかります。 2 番目の画面にはクラス .text の div が含まれています。
- CSS スタイル
次に、ページにスタイルを追加する必要があります。ページの高さをブラウザ ウィンドウの高さに設定し、各セクションの高さを 100% に設定する必要があります。同時に、後でページをスクロールできるように、すべてのセクションの位置を絶対位置に設定する必要があります。
html, body { height: 100%; margin: 0; padding: 0; } .section { height: 100%; position: absolute; top: 0; left: 0; width: 100%; } .section-1 { background-color: #f9f9f9; } .bg-img { background-image: url('https://picsum.photos/1920/1080'); background-size: cover; background-position: center; height: 100%; } .section-2 { background-color: #fff; }
- JavaScript コード
次に、ページのスクロールを実現するために、JavaScript コードを Web サイトに追加する必要があります。マウス ホイールまたはキーボードの上下矢印を使用してページをスクロールできます。
var sectionIndex = 0; var sections = $('.section'); var totalSections = sections.length; $(document).on('mousewheel DOMMouseScroll', function (e) { if (e.originalEvent.wheelDelta > 0 || e.originalEvent.detail < 0) { //向上滚动 sectionIndex--; } else { //向下滚动 sectionIndex++; } if (sectionIndex < 0) { sectionIndex = 0; } if (sectionIndex > totalSections - 1) { sectionIndex = totalSections - 1; } scrollToSection(sectionIndex); }); $(document).keydown(function (e) { switch (e.which) { case 38: //向上箭头 sectionIndex--; break; case 40: //向下箭头 sectionIndex++; break; default: return; } if (sectionIndex < 0) { sectionIndex = 0; } if (sectionIndex > totalSections - 1) { sectionIndex = totalSections - 1; } scrollToSection(sectionIndex); }); function scrollToSection(sectionIndex) { $('html, body').animate({ scrollTop: sections.eq(sectionIndex).offset().top }, 500); }
後続のスクロールのために現在の画面位置を記録するために、sectionIndex 変数を定義します。また、すべてのセクション要素を保存するために、sections 変数を定義し、セクションの数を記録するために、totalSections 変数を定義します。
次に、マウスホイールとキーボードの上下矢印のイベントリスナーを追加し、ユーザーがスクロールするときにsectionIndexを増減させ、sectionIndexの値が総画面数を超えているかどうかを確認します。私たちが見ている画面は確かに合法です。最後に、scrollToSection 関数を呼び出して、目的の画面にジャンプします。
scrollToSection 関数は、jQuery の animate メソッドを使用して、指定されたセクションの位置までスムーズにスクロールします。必要に応じてスクロール時間を変更することもできます。
- 結果表示
ついに、jQuery プラグインを使用する必要のない全画面スクロール効果の実装に成功しました。その効果は次のとおりです。
- 概要
この記事では、純粋な JavaScript と jQuery を使用して、全画面スクロール効果、実装効果も発揮します。 jQuery プラグインを使用すると実装が簡単になりますが、ネイティブ JavaScript を使用すると、コードの背後にある動作原理とロジックをより深く理解できるようになり、スクロール効果をより柔軟にカスタマイズできるようになります。
以上がプラグインなしのjQuery全画面スクロールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

usestate()isareacthookusedtomeStateinfunctionalComponents.1)itInitializeSandUpDatestate、2)colledatttheToplevelofComponents、3)canleadto'stalestate'ifnotusedly、and4)cancancancancancanbeoptimizeduptimizeduptimizedususecall -calleSuperesteSteSteSteSteSteSteSteSteStateSupteStateSuptateSuptatedates

ReactisPopularduetoitsComponent Architecture、Virtualdom、Richecosystem、およびdeclarativenature.1)コンポーネントベースのarchitectureallowsforReusable anduipieces、改善様式および測定可能性。

debugReactapplicationivivivity、EtheseStrategies:1)AddressPropdrillingWithContextapiorredux.2)HandLeasynchronousoperations withuthutateanduseeffect、Abortcontrollertopreventraceconditions.3)最適化合物を使用して、最適化合物を使用してください

UseState()inReactallowsstateManagementInFunctionalComponents.1)itsimplifiesstateManagement、makeCodemoreconcise.2)usetheprevcountFunctionToupDateStateBasedTateBasedTateBadeStateValue、AvolidingStalestateSues.3)

ChooseuseState()forsimple,independentstatevariables;useuseReducer()forcomplexstatelogicorwhenstatedependsonpreviousstate.1)useState()isidealforsimpleupdatesliketogglingabooleanorupdatingacounter.2)useReducer()isbetterformanagingmultiplesub-valuesorac

UseStateは、州の管理を簡素化し、コードをより明確にし、読みやすくし、Reactの宣言的な性質と一致するため、クラスコンポーネントやその他の州管理ソリューションよりも優れています。 1)UseStateを使用すると、状態変数を関数コンポーネントに直接宣言することができます。2)フックメカニズムの再レンダリング中に状態を覚えています。

useUsestate()forlocalcomponentStatemanagement; compleartinative forglogic、orperformanceissues.1)useidealforsimple、localstate.2)useglobalStateSolutionSolutionSuxorContextForSharedState.3)OptForreDuxtormobxobxobxobforexSt

再利用することは、codecodemaintainabilityを抑制することを再生します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ホットトピック









