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

推薦する

Element-ui レイアウト (行と列コンポーネント) の実装

目次基本的な手順と使用方法行コンポーネントの分析レンダリング機能ソースコード分析Col成分の分析コン...

MySQL の concat 関数についての簡単な説明。MySQL でフィールドの前または後に文字列を追加する方法

MySQL で concat 関数を使用する方法: CONCAT(文字列1、文字列2、…)戻り値は、...

vue-cli の紹介とインストール

目次1. はじめに2. vue-cli の紹介2.1 コマンドライン2.2 CLI サービス2.3 ...

HTMLベースの複数画像アップロードのプレビュー機能を実装

最近、Web ページに複数の画像をアップロードするためのスクリプトを作成しました。これは非常に実用的...

docker-compose を使用して Apollo カスタム環境をデプロイする詳細なチュートリアル

目次アポロ コンフィギュレーション センターとは何ですか?アポロの特徴クライアントアーキテクチャアー...

文字列から指定された文字を削除または抽出する JavaScript メソッド (非常によく使用されます)

目次1. 部分文字列() 2. サブストラクチャ() 3.インデックス() 4.最後のインデックス(...

Vueプロジェクトでスケルトンスクリーンを使用する方法

現在、アプリケーション開発は基本的にフロントエンドとバックエンドに分離されています。主流のフロントエ...

ウェブデザイナーが持つべき資質と能力

Web デザインは、インターネットの出現後に誕生した新興の周辺産業です。 Web ページは店頭のよう...

HTMLページをクリックしてダウンロードファイルを実装する2つの方法

1. <a>タグを使用して完了します <a href="/user/te...

iframeをカプセル化するvueコンポーネントを開発する

目次1. コンポーネントの紹介2. コンポーネントの内部構造とロジック1. コード組織構造2. マッ...

Vueでスワイパープラグインを使用する際の問題を解決する

デモを作成するときにこのプラグインを使用していくつか問題が発生したため、プラグインの使用方法といくつ...

MySQL インフラストラクチャ チュートリアル: クエリ ステートメント実行プロセスの詳細な説明

序文私は以前から、SQL 文がどのように実行され、どのような順序で実行されるのかを知りたいと思ってい...

MySQLがファントムリードを解決する方法の詳細な説明

1. ファントムリーディングとは何ですか?トランザクションにおいて、複数のクエリの後に結果セットの数...

Easyswoole ワンクリック インストール スクリプトとパゴダ インストール エラー

よくある質問easyswoole を初めて使用する場合は、次のような問題に遭遇することがよくあります...

Dockerイメージサイズを最適化する一般的な方法

通常、私たちが構築する Docker イメージはサイズが大きく、多くのディスク領域を占有します。コン...