タブステータスバーの切り替え効果を実現するための js と jQuery

タブステータスバーの切り替え効果を実現するための js と jQuery

今日は、タブ バーをクリックして切り替えるという目的を実現するために、js と jQuery を使用する簡単なケースを作成します。効果は次のようになります。

コードは次のとおりです。

<!DOCTYPE html>
<html>
 <ヘッド>
  <メタ文字セット="utf-8">
  <title>ステータスバースイッチ</title>
  <スタイル>
   * {
    マージン: 0;
    パディング: 0;
    ボックスのサイズ: 境界線ボックス;
   }
 
   。主要 {
    幅: 720ピクセル;
    表示: ブロック;
    マージン: 50px 自動;
   }
 
   .table-title {
    幅: 100%;
    高さ: 100%;
    境界線: 1px 黒一色;
   }
 
   .table-title ul {
    リストスタイル: なし;
    ディスプレイ: フレックス;
   }
 
   .table-title li {
    幅: 25%;
    高さ: 100%;
    背景色: ゲインズボロ;
    テキスト配置: 中央;
    border-right: 1px 黒一色;
    カーソル: ポインタ;
   }
 
   .table-title li:最後の子 {
    右境界線: なし;
   }
 
   .table-title li ラベル {
    テキスト配置: 中央;
    カーソル: ポインタ;
   }
 
   .タブボックス .タブ表示 {
    表示: なし;
    境界線: 1px 黒一色;
    上境界線: なし;
    テキスト配置: 中央;
   }
 
   /* 最初のフレームを表示します */
   .tab-box .tab-show:first-Child {
    表示: ブロック;
   }
 
   。変化 {
    不透明度: 0.7;
   }
  </スタイル>
  <script src="js/jquery-3.5.1.js"></script>
  <スクリプト>
   // js は window.onload = function() { を実装します
    //要素を取得する var allLi = document.getElementsByTagName("li");
    var ボックス = document.getElementsByClassName("タブボックス")[0].children;
    //切り替え効果を実現するためのトラバーサル for (var i = 0; i < allLi.length; i++) {
     //各liの属性インデックス値を定義します。allLi[i].index = i; 
     //クリックイベントを追加 allLi[i].onclick = function() {
      //インデックス値を取得します。var index = this.index;
      //コンテンツボックスを表示する[index].style.display="block";
      allLi[インデックス].style.opacity=0.7;
      (var j = 0; j < allLi.length; j++) の場合 {
       //兄弟要素のスタイルを元に戻す if(j != index){
        ボックス[j].style.display="なし";
        allLi[j].style.opacity=1;
       }
      }
     }
    }
   }
   // jQuery は $().ready(function() { を実装します
    $(".table-title li").click(function() {
     // .index() メソッドを使用して 0 から始まる要素インデックスを取得し、それを変数に割り当てます。var _index = $(this).index();
     // _index 番目のコンテンツ ボックスを表示し、その他を非表示にします $(".tab-box>div").eq(_index).show().siblings().hide();
     // オプション ボックスが選択されたときにそのスタイルを変更し、他のいくつかのオプションのスタイルを削除します$(this).addClass("change").siblings().removeClass("change");
    });
   });
  </スクリプト>
 </head>
 <本文>
  <div class="main">
   <div class="テーブルタイトル">
    <ul>
     <li><label>携帯電話デジタル</label></li>
     <li><label>コンピューター作業</label></li>
     <li><label>日用品</label></li>
     <li><label>家庭に欠かせないもの</label></li>
    </ul>
   </div>
   <div class="tab-box" style="幅: 100%;高さ: calc(100%-40px);">
    <div class="tab-show">
     携帯電話デジタル
    <div class="tab-show">
     コンピュータオフィス</div>
    <div class="tab-show">
     日用品
    <div class="tab-show">
     家庭の必需品</div>
   </div>
  </div>
 </本文>
</html>

さらに詳しく知りたい場合は、次の2つの素晴らしいトピックをクリックしてください。JavaScriptタブ操作方法の概要jQueryタブ操作方法の概要

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

以下もご興味があるかもしれません:
  • JavaScript でタブ切り替えを実装する 4 つの方法
  • 合理化されたJS DIVレイヤータブ切り替えコード
  • js (JavaScript) で TAB タグ切り替え効果の簡単な例を実現する
  • タブ切り替え効果をJavaScriptで実現(自作ネイティブjs)
  • タブ切り替え効果を実現するVue.jsコンポーネントタブ
  • タブ切り替えを実現するネイティブjs
  • jQuery を使用して div タブを切り替えるためのサンプル コード
  • タブ切り替えのjQueryバージョン
  • jQuery シンプルなタブ切り替えエフェクト実装方法
  • jQueryで実装したタブスライドと画像切り替え(複数のエフェクト)のまとめ

<<:  MySQLのスリープ関数の特殊現象例の詳しい説明

>>:  Docker で SVN サーバーを構築するチュートリアル

推薦する

Linux における SUID、SGID、SBIT の素晴らしい使い方の詳細な説明

序文Linux のファイル権限管理はとにかく素晴らしいです。SUID、SGID、SBIT の機能を確...

背景属性の8つの属性値の詳細解説(面接の質問)

CSSの背景プロパティの値背景色背景画像背景繰り返し背景位置背景添付複合プロパティ: 背景: ba...

MySQL 5.6 マスタースレーブエラー報告の実践記録

1. 問題の症状バージョン: MySQL 5.6、従来の binlog ファイルと pos 方式を使...

vue+node+socket ioは複数人のインタラクションを実現し、プロセス全体を解放します

1. 背景1. フロントエンドはvue + vuex + socket.io-clientを使用しま...

Win10にMySQL8圧縮パッケージ版をインストールするチュートリアル

1 公式サイトからMySQL8をダウンロードしてインストールするMySQL8 ダウンロードアドレスこ...

Docker ベースの Tomcat クラスタと Nginx ロード バランシングの展開の概要

目次前面に書かれた1. Ngixnイメージの作成2. Java Web (Tomcat) アプリケー...

Jenkinsを使用してプロジェクトを別のホストにデプロイするプロセス

環境ホスト名IPアドレス仕えるジェンキンス192.168.216.200トムキャット、ジェンキンスサ...

nginx 503 サービスが一時的に利用できない問題を解決する方法

最近、ウェブサイトを更新すると、503 Service Temporarily Unavailabl...

Navicat 接続 MySQL エラーの説明分析

目次環境仮想マシンバージョンMySQL バージョン事前準備MySQLの実行ステータスを確認するルート...

Linux ファイアウォール設定の詳細な手順 (yum ウェアハウス設定に基づく)

序文この実験では、デバッグ用に2つの仮想マシン(CentOs6とRed Hat 6)を準備します。 ...

上部の固定divは半透明効果に設定できます

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

MySQL 8.0.12 クイックインストールチュートリアル

MySQL 8.0.12 のインストールには 2 日かかり、さまざまな問題が発生しました。以下にまと...

MySQL で重複行を見つけて削除する方法

目次1. 重複行を見つける方法2. 重複行を削除する方法3. 複数の列で重複を見つける方法4. クエ...

あるテーブルからバッチデータをクエリし、それを別のテーブルに挿入する MySQL の完全な例

事前に言っておくNodejs はデータベースを非同期操作として読み取るため、データベースがデータを読...

Reactでのこのリファレンスの詳細な説明

目次原因:以下を実行します: 1. コンストラクター2.レンダリング機能3.bind関数とarrow...