jQueryはスライディングタブを実装する

jQueryはスライディングタブを実装する

この記事では、スライドタブを実装するためのjQueryの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

まず最終的な効果:

需要分析:

1. タブメニューの数が固定されておらず、メニューの内容も固定されていないため、個々のメニューの幅と全体の幅が不明になります。
2. 最初の要件により、スライダーの幅が固定されなくなります
3. インタラクションを良くするために、スライダーにトランジションアニメーションを追加する必要があります。

スライダーが必要なのは、スライダーとメニューの HTML 構造を分離する必要があり、jQuery の offset メソッドを使用して位置を取得および設定し、すべての div で相対的な配置を使用する必要があることを意味します。

この場合の TAB タブは簡単に拡張して再利用できます。直接使用するには、いくつかの値を変更するだけです。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>0908</title>
    <script src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"></script>
    <スタイル>
        /*コンテナは水平方向の中央揃えのためだけのものです。必要ない場合は、このネスト層を削除できます*/
        。容器{
            左: 50%;
            上マージン: 100px;
            フロート: 左;
            カーソル:ポインタ;
            位置: 相対的;
        }
        .BG{
            右: 50%;
            フォントサイズ: 0;
            背景色: #f2f2f2;
            境界線の半径: 30px;
            位置: 相対的;
        }
        .コンテナdiv{
            フォントサイズ: 16px;
            行の高さ: 60px;
        }
        。リスト{
            フロート: 左;
            表示: インラインブロック;
            パディング: 0 50px;
            遷移: カラー 0.5 秒;
            位置: 相対的;
            zインデックス: 1;
        }

        /*listH と listA の順序はここでは変更できません。優先順位があり、listA が使用されている場合、listH は機能しません*/
        .listH{
            色: #ff8300;
        }
        .listA{
            色: #fff;
        }

        /*スライダー*/
        #アクティブ{
            幅: 100ピクセル;
            高さ: 60px;
            境界線の半径: 30px;
            背景色: #ff8300;
            ボックスの影: 0 5px 16px 0 rgba(255, 144, 0, 0.58);
            位置: 相対的;
            zインデックス: 0;
            遷移: 左 0.5 秒、幅 1 秒。
        }
    </スタイル>
    <スクリプト>
        $(ドキュメント).ready(関数() {

            /*デフォルトのアクティブタブ eq(i) を設定する*/
            var aL = $(".list:eq(1)");
            $("#active").width(aL.innerWidth());
            $("#active").offset(aL.offset());
            aL.addClass("リストA");

            /*各ボタンにクリックイベントを追加する*/
            $(".list").click(関数() {
                $("#active").width($(this).innerWidth()); //幅を設定$("#active").offset($(this).offset()); //位置を設定$(this).addClass("listA");
                $(".list").not(this).removeClass("listA");
            });

            /*ホバー効果*/
            $(".list").hover(関数() {
                $(this).addClass("listH")
            }、関数 () {
                $(this).removeClass("listH")
            })

        });
    </スクリプト>
</head>
<本文>
<div class="コンテナ">
    <div class="BG">
        <div class="list">1</div>
        <div class="list">22</div>
        <div class="list">3333</div>
        <div class="list">4</div>
        <div class="list">ファイブファイブファイブ</div>
        <div id="アクティブ"></div>
    </div>
</div>
</本文>
</html>

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

以下もご興味があるかもしれません:
  • JQuery ベースの 6 つのタブ プラグイン
  • jQuery EasyUI API 中国語ドキュメント - タブ
  • jQueryタブのシンプルな実装
  • jQueryはタブ切り替え効果の簡単なデモを実装します
  • jQuery ツール タブ
  • JQuery タブタブ効果コード改良版
  • jQuery EasyUI タブの問題のまとめ
  • jQuery はタブ機能を実装します (2 つの方法)
  • jQueryで実装したタブスライドと画像切り替え(複数のエフェクト)のまとめ
  • jQuery は TAB タブ切り替えの特殊効果を実装する簡単なデモ

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

>>:  MySQLクエリが遅い原因と解決策

推薦する

Centos8 は kdc 暗号化に基づいて nfs を構築します

目次構成nfs サーバー (nfs.skills.com) nfs クライアント (client.s...

フロントエンドの上級者向けコースでは、JavaScript のストレージ機能の使い方を学習します。

目次序文背景実施計画の考え方js ストレージ機能ソリューション設計やっと要約する序文どの SaaS ...

CSSの使用に関する深い理解 clear:both

clear:both清除浮動これは私が常に持っていた印象ですが、私はこれをめったに使用せず、私の理...

Linux で複数の mysql5.7.19 (tar.gz) ファイルをインストールする方法

LinuxでのMySQL-5.7.19バージョンの初心者向けの最初のインストールについては、前の記事...

Linux ファイアウォールを設定してポート 80 と 3306 を開く方法

ポート80も設定されています。まずファイアウォール設定ファイルを入力しますシェル># vim ...

CSS3 で高さと幅を不定にして垂直と水平に中央揃えするいくつかの方法

1. フレックスレイアウト 。父親 { ディスプレイ: フレックス; コンテンツの中央揃え: 中央;...

優れたユーザー インターフェース デザインのための 37 のヒント (画像付き)

1. 複数列レイアウトではなく、単一列レイアウトを使用する1 列のレイアウトにより、全体的な状況をよ...

Linux サーバーのスクリプトを自動的にバックアップする方法 (mysql、添付ファイルのバックアップ)

1.backup.shスクリプトファイルを作成する #!/bin/sh ソースフォルダ=/データ ...

JS Canvas インターフェースとアニメーション効果

目次概要Canvas API: グラフィックスの描画パス線種矩形アーク文章グラデーションと画像の塗り...

Linux システムで MySQL データベースにリモート接続する方法のチュートリアル

序文最近、職場でこの要件に遭遇し、リモート接続を確立するのに 1 時間以上かかりました。ローカル コ...

MySQL Index Pushdown (ICP) とは何かを理解するための記事

目次1. はじめに2. 原則III. 実践3.1 インデックスプッシュダウンを使用しない3.2 イン...

Dockerはnginxをデプロイし、フォルダとファイル操作をマウントします

この間、私は docker を勉強していたのですが、nginx をデプロイするときに行き詰まりました...

img タグの src 属性値が空の場合の 2 つのリクエストの問題 (IE 以外のブラウザ)

img src 値が空の場合、リクエストが 2 つ行われます。一部の学生は以前に同様の状況に遭遇した...

はじめに: HTML の基本的なタグと属性の簡単な紹介

HTML はタグと属性で構成されており、これらを組み合わせてブラウザにページの表示方法を指示します。...

MySQL の 10 進数データ型の小数点埋め込み問題の詳細な説明

序文開発プロセスでは、10 進データ型がよく使用されます。 MySQL では、小数点は正確なデータ型...