フロア効果を実現するためのJavaScript

フロア効果を実現するためのJavaScript

この記事では、フロア効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

* {
            マージン: 0;
            パディング: 0;
        }
        
        html,
        体 {
            幅: 100%;
            高さ: 100%;
        }
        
        ul {
            幅: 100%;
            高さ: 100%;
        }
        
        ul>li {
            リストスタイル: なし;
            幅: 100%;
            高さ: 100%;
            フォントサイズ: 100px;
            テキスト配置: 中央;
        }
        
        オル {
            位置: 固定;
            左: 10px;
            上位: 50%;
            変換: translateY(-50%);
        }
        
        ol>li {
            リストスタイル: なし;
            幅: 100ピクセル;
            行の高さ: 40px;
            テキスト配置: 中央;
            境界線: 1px実線 #000;
        }
        
        .選択された{
            背景: スカイブルー;
        }
 <ul>
        <li>私はレベル1です</li>
        <li>私はレベル2です</li>
        <li>私はレベル3です</li>
        <li>私はレベル4です</li>
        <li>私はレベル5です</li>
    </ul>
 
    <オル>
        <li class="selected">レイヤー 1</li>
        <li>レイヤー 2</li>
        <li>レイヤー 3</li>
        <li>レイヤー 4</li>
        <li>レイヤー 5</li>
</ol>

js:

// 1. 床の色を初期化します。let oPages = document.querySelectorAll("ul>li");
colorArr = ['緑', '青', '紫', '赤', '黄'] とします。
        (i = 0 とします; i < oPages.length; i++) {
            ページをoPages[i]とします。
            ページスタイルの背景色を[i]に設定します。
        }
 
        // 2. クリックされたものを選択します let oItems = document.querySelectorAll("ol>li");
        現在の項目をoItems[0]とします。
 
        // 表示領域の高さを取得します。let screenHeight = getScreen().height;
 
        timerId を null にします。
        (i = 0 とします; i < oItems.length; i++) {
            item = oItems[i]とします。
            アイテム.onclick = 関数() {
                現在のアイテム.className = "";
                this.className = "選択済み";
                現在のアイテム = これ;
                // スクロールを実装します // window.scrollTo(0, i * screenHeight);
                // 注: Web ページをスクロールするには documentElement.scrollTop を使用します。値を設定するときに単位を追加しないでください。// document.documentElement.scrollTop = i * screenHeight + "px";
                // document.documentElement.scrollTop = i * screenHeight;
                タイマーIDをクリアします。
                タイマーID = setInterval(関数() {
                    begin = document.documentElement.scrollTop; とします。
                    ターゲットを i * screenHeight とします。
                    ステップ = (ターゲット - 開始) * 0.2 とします。
                    開始 += ステップ;
                    (Math.abs(Math.floor(step)) <= 1)の場合{
                        タイマーIDをクリアします。
                        document.documentElement.scrollTop = i * 画面の高さ;
                        戻る;
                    }
                    document.documentElement.scrollTop = 開始;
                }, 50);
            }
        }
 
        //ブラウザのビューポートの幅と高さを取得する関数 getScreen() {
            幅、高さを指定します。
            if (window.innerWidth) {
                幅 = ウィンドウの内側の幅;
                高さ = window.innerHeight;
            } そうでない場合 (document.compatMode === "BackCompat") {
                幅 = document.body.clientWidth;
                高さ = document.body.clientHeight;
            } それ以外 {
                幅 = document.documentElement.clientWidth;
                高さ = document.documentElement.clientHeight;
            }
            戻る {
                幅: 幅、
                高さ: 高さ
            }
        } 

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

以下もご興味があるかもしれません:
  • JavaScriptでフロアナビゲーションエフェクトを作成するプロセスの詳細な説明
  • 床スクロール効果を実現する js
  • ウェブサイトのフロアナビゲーション効果を実現する JS コード例
  • JSはナビゲーションバーの床の特殊効果を実現します
  • AngularJS で実装したアンカーポイントフロアジャンプ機能の例
  • JSでメッセージボード機能を実現【床効果表示】
  • フロアジャンプ ページ レイアウトを実現するための純粋な HTML + CSS + JavaScript (サンプル コード)
  • フロアナビゲーション機能を実現するjs
  • js を使用してフロア効果を実装する簡単な例

<<:  MySQL パフォーマンス ストレス ベンチマーク ツール sysbench の使い方の紹介

>>:  SQL Server 2019 Always On クラスターの Docker デプロイメントの実装

推薦する

MySQL 8 の新機能: 非表示のインデックス

背景インデックスは諸刃の剣です。クエリ速度は向上しますが、DML 操作も遅くなります。結局のところ、...

Vue3とTypeScriptを組み合わせたプロジェクト開発の実践記録

目次概要1. コンポジションAPI 1. ref と reactive の違いは何ですか? 2. 周...

MySQL 8.0.21 のインストール手順と問題解決

公式サイトをダウンロードまず公式ウェブサイトにアクセスしてMySQLをダウンロードしてくださいリンク...

ウェブアニメーションのフレームレートFPSを計算する方法

目次スムーズなアニメーションの基準方法1: Chromeデベロッパーツールを使用する方法 2: フレ...

Linux で MySQL データベースのインポートおよびエクスポート コマンドを実装する方法

1. mysqldump コマンドを使用してデータベースをエクスポートします (このコマンドのパスで...

grpc のリバース プロキシとして nginx を使用する場合の落とし穴の概要

背景ご存知のとおり、nginx は高性能な Web サーバーであり、負荷分散やリバース プロキシによ...

テキストエリア テキストエリアの幅と高さ 幅と高さの自動適応実装コード

コードをコピーコードは次のとおりです。 <HTML> <ヘッド> <T...

MYSQL ストアドプロシージャと関数の簡単な記述

ストアドプロシージャとは簡単に言えば、これは強力で、JAVA 言語のメソッドに似た比較的複雑な論理関...

XHTMLコードの一般的なアプリケーション問題をまとめる

<br />しばらくの間、多くの人が XHTML の使い方を知らないことに気付きました。...

Linux カーネル デバイス ドライバー Linux カーネル 基本メモの概要

1. Linuxカーネルドライバモジュールの仕組み静的ロードでは、ドライバモジュールをカーネルにコン...

React 関数コンポーネントのパフォーマンス最適化のアイデアの詳細な説明

最適化のアイデア最適化には主に 2 つの方向があります。再レンダリングの回数を減らします。 Reac...

Docker のタイムゾーンの問題とデータ移行の問題

最新のソリューション: -v /usr/share/zoneinfo/Asia/Shanghai:/...

Docker を使用して Spring Boot をデプロイする方法の例

ここでは主に、スタンドアロンのプログラムを生成できるspring-bootと、Mavenプラグインd...

Linux での grep コマンドの使い方の詳細な説明

Linux grep コマンドLinux の grep コマンドは、ファイル内の条件を満たす文字列を...

CSS と Bootstrap アイコンを使用して、上下にジャンプするインジケーター矢印のアニメーション効果を作成します。

ページが非常に長い場合は、下にさらにコンテンツがあることをユーザーに知らせるために矢印が必要になるこ...