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 つのネットワーク タイプの主な例

推薦する

VMware、nmap、burpsuite インストール チュートリアル

目次VMware バープスイート1. 仮想マシンイメージとVMwareのインストールと使用2. 仮想...

Windows 10 での MySQL 5.7.21 インストーラのインストール グラフィック チュートリアル

MySQLをインストールしてメモしておきます。うまくインストールできるか分かりませんが、試してみます...

JavaScriptはマウスの動きに追従するボックスを実装します

この記事では、マウスの動きを追跡するためのJavaScriptの具体的なコードを参考までに紹介します...

Vueのvue-tree-colorコンポーネントの組織構造図の事例を詳しく解説

目次ネプローダーをインストールするプラグインのインポート始める配置折りたたみディスプレイノードをクリ...

ドロップダウンメニュー効果を実現するJavaScript

参考までに、JavaScriptを使用してドロップダウンメニューを実装します。具体的な内容は次のとお...

CentOS 7 で MySQL 5.7 をインストールして設定する

この記事では、以下の環境をテストします。 CentOS 7 64 ビット 最小 MySQL 5.7 ...

ローカルの Windows リモート デスクトップから Alibaba Cloud Ubuntu 16.04 サーバーに接続する方法

ローカル Windows リモート デスクトップが Alibaba Cloud Ubuntu 16....

MySQL で重複レコードを見つけて削除する方法

みなさんこんにちは。私は技術の話ばかりして髪を切らない先生のトニーです。何らかの歴史的な理由や誤操作...

跳ねるボールを実現するネイティブjs

思いつきで、小さなボールが跳ね返るケーススタディを書いてみました。具体的な内容は以下のとおりです。主...

MySQL実践ウィンドウ関数SQL分析クラスの生徒のテストの成績と生活費

目次1. 背景2. テーブル作成ステートメントとデータ挿入テーブルを作成するデータの挿入3. ウィン...

Vue 天気予報入門

この記事では、参考までに天気予報を実装するためのVueの具体的なコードを紹介します。具体的な内容は次...

非常に詳細な Vue-Router のステップバイステップのチュートリアル

目次1. ルータビュー2. ルータリンク3. リダイレクト4. ルーティングエイリアス5. ルーティ...

MySQL マスタースレーブ同期メカニズムと同期遅延問題追跡プロセス

序文DBA として、仕事中に MySQL マスターとスレーブの同期遅延の問題に遭遇することがよくあり...

HTML における src と href の違いについての簡単な説明

簡単に言うと、srcは「このリソースをロードしたい」という意味で、hrefは「このリソースに関連付け...

Jenkins+tomcat の自動ホットデプロイメント/再起動と発生した問題の解決策 (推奨)

1. 背景同社のプロジェクトは、これまでは手動で Maven でパッケージ化し、サーバーにアップロ...