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クエリが遅い原因と解決策

推薦する

MySQL データ定義言語 DDL の基本ステートメント

MySQL DDL ステートメントDDL、DMLとは何ですか。 DDL はデータ定義言語であり、CR...

HTML レイヤード ボックス シャドウ効果のサンプル コード

まず、画像を見てみましょう。今日はこのエフェクトを作成します。 実は、何でもないんです。Web ペー...

MYSQL メタデータ ロック (MDL ロック) の理論とロック タイプ テスト

目次MYSQL メタデータ ロック (MDL ロック) 学習理論とロック タイプ テスト1. 予備的...

node.js で Web サーバーを作成する手順の詳細な説明

序文node.js でサーバーを作成するのは非常に簡単です。小さいながらも完全な Web サーバーを...

MySQL での %% のようなファジークエリの実装

1、%: 0 個以上の任意の文字を表します。あらゆるタイプと長さの文字に一致します。場合によっては、...

Tomcat と WebLogic で純粋な HTML ファイルを展開するプロセスの分析

1. まず、純粋なHTMLファイルにはindex.htmlというエントリが必要です。 2. Tomc...

IE9beta版ブラウザはHTML5/CSS3をサポート

IE9 は Microsoft の第二の革命だと言う人もいます。これは誇張ではないと思います。IE6...

MySQL データ型 DECIMAL(N,M) における N と M の意味の詳細な説明

同僚から、MySQL データ型 DECIMAL(N,M) の N と M の意味を尋ねられました。言...

MySQLデータベースを別のマシンに移行する方法の詳細な説明

1. まず、移行サーバー上のデータ ファイルを見つけます。MySQL 5.7 とデフォルトのインスト...

Alibaba Cloud ECS サーバーでポート 8080 を開く方法

セキュリティ上の理由から、Alibaba Cloud Server ECS にはデフォルトで独自のセ...

Linux での vi (vim) の新しい使い方のまとめ

私は数年間 vi エディタを使ってきましたが、実用的な用途で使ったことはありませんでした。今日 Py...

Vue3 の ref と toRef の違いを簡単に分析します

1. refがコピーされ、ビューが更新されますrefを使用してオブジェクトのプロパティ値をレスポンシ...

DockerにFastDFSをインストールする方法

画像をプルする docker pull season/fastdfs:1.2トラッカーを開始 doc...

Linux に JDK1.8 をインストールするための詳細なチュートリアル

1. 設置前の清掃 rpm -qa | grep jdk rpm -qa | grep gcj yu...

ブラウザの自動更新を実装するReactサンプルコード

目次フロントエンドルーティングとは何ですか?フロントエンドルーティングを実装するにはどうすればいいで...