jQueryでフルスクリーンスクロール効果を実現

jQueryでフルスクリーンスクロール効果を実現

この記事の例では、フルスクリーンスクロールを実現するためのjQueryの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

レンダリング


アイデア

1. フルスクリーンにするには、親、本文、HTML、高さを100%、幅を100%に設定し、HTMLと本文のオーバーフロー非表示を設定します。

html,本文{
    高さ:100%;
    /* フルスクリーンを実現する */
    オーバーフロー: 非表示;
}
。包む{
    位置: 相対的;
    上: 0;
    左: 0;
    /* フルスクリーンを実現する */
    高さ: 100%;
}
div.wrap>div{
    幅:100%;高さ:100%;
}

2. min.jsをインポートした後、マウスホイールをインポートします。

<script src="../../0817/jquery-3.5.1/jquery-3.5.1.min.js"></script>
<script src="../../0817/jquery-3.5.1/jquery.mousewheel.min.js"></script>

3. e.deltaY>0 スライドアップ e.deltaY<0 スライドダウン

4.スライドを一度コントロールする

<スクリプト>
 var フラグ = true;

if(フラグ){
 //スライドアップif(e.deltaY>0){
  フラグ = false;
 }
 //下にスライドします。
  フラグ = false;
 }
</スクリプト>

5. スライドさせるには、親を変更する必要があります (ここでは、ドキュメントの上部ではなく、ラップの上部です。最初は間違った考えでした。その高さは、子の高さ * -1 である必要があります)。各スライドの後にスライドを継続できるようにする必要があることに注意してください。そのため、関数に flag = true を記述する必要があります。境界を越えないようにするには、上下のスライドを if で記述します。以下のコードを参照してください。

<スクリプト>
    // スライドを1回制御する if(flag){
        //スライドアップif(e.deltaY>0){
            //上にスライドできません if(i>0){
                コンソールログ(i)
                私 - ;
                フラグ = false;
                $('.wrap').animate({top:-i*hei},1000,function(){
                    フラグ=true;
                })
            }


        }//下にスライドします else{
            // これは滑り落ちないようにするためです if(i<4){
                私は++;
                フラグ = false;
                $('.wrap').animate({top:-i*hei},1000,function(){
                    フラグ=true;
                })
            }
        }
    }
</スクリプト>

完全なコード

<!DOCTYPE html>
<html>
    <ヘッド>
        <メタ文字セット="utf-8">
        <タイトル></タイトル>
        <スタイル>
            *{マージン:0;パディング:0;}
            /* フルスクリーンを実現する */
            html,本文{
                高さ:100%;
                オーバーフロー: 非表示;
            }
            。包む{
                位置: 相対的;
                上: 0;
                左: 0;
                /* フルスクリーンを実現する */
                高さ: 100%;
            }
            div.wrap>div{
                幅:100%;
                高さ:100%;
            }
            div.one{
                背景:ライトコーラル;
            }
            div.2{
                背景:水色;
            }
            div.3{
                背景:ライトシーグリーン;
            }
            div.4{
                背景:ライトスレートグレー;
            }
            div.5{
                背景:ピンク;
            }
        </スタイル>
    </head>
    <本文>
        <div class="wrap">
            <div class="one"></div>
            <div class="two"></div>
            <div class="three"></div>
            <div class="4"></div>
            <div class="5"></div>
        </div>

        <script src="../../0817/jquery-3.5.1/jquery-3.5.1.min.js"></script>
        <script src="../../0817/jquery-3.5.1/jquery.mousewheel.min.js"></script>
        <スクリプト>
            $(関数(){
                var フラグ = true;
                var i = 0;
                var hei=$('.wrap>div').first().height();
                $(document).mousewheel(function(e){

                    // スライドを1回制御する if(flag){
                        //スライドアップif(e.deltaY>0){
                            //上にスライドできません if(i>0){
                                コンソールログ(i)
                                私 - ;
                                フラグ = false;
                                $('.wrap').animate({top:-i*hei},1000,function(){
                                    フラグ=true;
                                })
                            }


                        }//下にスライドします else{
                            // これは滑り落ちないようにするためです if(i<4){
                                私は++;
                                フラグ = false;
                                $('.wrap').animate({top:-i*hei},1000,function(){
                                    フラグ=true;
                                })
                            }
                        }
                    }

                })
            })
        </スクリプト>
    </本文>
</html>

要約:

1.達成するトップ

2. オーバーフローを忘れない

3. スライドの上部は依然として負の数であり、正の数ではありません

4. 高さと幅は100%に設定する必要があります

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • jQueryプラグインfullPage.jsはフルスクリーンスクロール効果を実現します
  • jQueryでフルスクリーンスクロールを実現
  • jQueryをベースにフルスクリーンスクロール効果を実現
  • jQuery は、スクロールナビゲーション効果を備えたフルスクリーンスクロールアルバムの例を実装します。

<<:  CentOS7.5 の MySQL8.0.19 のインストールチュートリアルの詳細な手順

>>:  Docker の 4 つのネットワーク タイプの主な例

推薦する

フロントエンドインタビューに必要なホモロジーとクロスドメインの詳細な説明

序文ご存知のとおり、ブラウザの相同性戦略とクロスドメイン方式も、フロントエンド面接で頻繁に遭遇する問...

JavaScript で矢印関数を使用できないシナリオはどれですか

目次1. オブジェクトメソッドを定義する2. プロトタイプメソッドを定義する3. イベントコールバッ...

MySQLのFreeListメカニズムの詳細な説明

1. はじめにMySQL が起動すると、BufferPool が初期化されます。クエリ操作を実行する...

Web コンテンツ ページを作成するための 9 つの実用的なヒント

コンテンツ1. 読者に留まる理由を与える。ウェブページを面白く魅力的なものにしましょう。しかし、まず...

MySQL 5.7 でブロックポジショニング DDL の問題を解決する

前回の記事「MySQL テーブル構造の変更、メタデータ ロックを知っておく必要があります」では、MD...

VMware IOInsight を使用して、仮想マシンのストレージ パフォーマンスの監視を改良する

例: VMware IOInsight は、VM のストレージ I/O 動作を理解するのに役立つツー...

衝突検出を実装するためのjs

この記事の例では、衝突検出を実装するためのjsの具体的なコードを参考までに共有しています。具体的な内...

大きなオフセットによる MySQL 制限ページングが遅い理由と最適化ソリューション

MySQL では通常、limit を使用してページ上のページング機能を完了しますが、データ量が大きな...

Vue シングルページ アプリケーションで Markdown レンダリングを実装する

以前、Markdown をレンダリングするときに、mavonEditor のプレビュー モードを使用...

CSS3の3D効果を使って立方体を作成する

CSS3 の 3D 効果を使用して立方体を作成する方法を学ぶと、3D シーンの回転と変位のプロパティ...

Mysql はテーブル内の古いデータを定期的にクリアし、いくつかのデータを保持します (推奨)

以下の目標を達成するため: Mysql データベースは、一定の間隔 (2 時間または 1 日、カスタ...

docker run によって起動されたコンテナがハングしてデータが失われた場合の対処方法

シナリオの説明あるシステムでは、機能サービスはdocker stack deploy xxxで起動し...

Pycharmとsshリモートアクセスサーバーdockerの詳細なチュートリアル

背景: 一部の実験はサーバー上で完了する必要があります。したがって、リモート サーバー上のコードをロ...

VMwareでCentOSがインターネットにアクセスできない問題を素早く解決

昨日、VMware に CentOS7 をインストールしました。Tomcat パッケージを転送するた...

JS ES6 非同期ソリューション

目次最初にコールバック関数を使用するes6 非同期処理モデルこの非同期モデルに合わせたAPI: pr...