タブ切り替え効果を実現するJavaScript

タブ切り替え効果を実現するJavaScript

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

メインインターフェースを構築する

HTMLコード

<h1>タブ切り替え効果を実現する</h1>
<ul id="タブ">
    <li><a href="">映画とテレビ</a></li>
    <li><a href="">エンターテインメント</a></li>
    <li><a href="">テレビシリーズ</a></li>
</ul>
<div id="コンテンツ">
    <div id="content1">最新の映画おすすめ:<br>「ワイルド・スピード」<br>「ベイマックス」</div>
    <div id="content2">ホットなエンターテイメントのおすすめ:<br>「ランニングマン」<br>「The Voice of China」</div>
    <div id="content3">人気のテレビシリーズのおすすめ:<br>「Three Lives, Three Worlds」<br>「Our Times」</div>
</div>

CSSファイルの記述

新しい CSS ファイルを作成し、以前に記述した HTML インターフェイスをレンダリングするための CSS コードを記述します。

HTML ファイルに CSS ファイルをインポートすることを忘れないでください。

<link rel="スタイルシート" href="mCSS.css" >

CSSファイルコード

*{
    マージン: 0;
    パディング: 0;
}
 
#タブ{
    オーバーフロー: 非表示;
}
 
#タブli {
    フロート: 左;
    リストスタイル: なし;
    幅: 80ピクセル;
    高さ: 40px;
    テキスト配置: 中央;
}
 
#タブ li:first-child、#content1 {
    背景: #ffcc00;
}
 
#タブ li:最初の子 + li、#コンテンツ2 {
    背景: #ff00cc;
}
 
#タブ li:最後の子、#コンテンツ3 {
    背景: #00ccff;
}
 
#タブli a {
    行の高さ: 40px;
    色: 白;
    テキスト装飾: なし;
}
 
#コンテンツ {
    位置: 相対的;
}
 
#コンテンツ1、#コンテンツ2、#コンテンツ3 {
    幅: 300ピクセル;
    高さ: 100px;
    位置: 絶対;
    上: 0;
    左: 0;
    パディング: 30px;
    表示: なし;
}
 
#コンテンツ1{
    表示: ブロック;
}

切り替え効果を実現するためのJavaScriptスクリプトファイルを作成する

JavaScript コード

// 特定のラベルをクリックすると、対応する div が表示され、その他は非表示になります。
// イベントをトリガーした要素を検索します var as = document.querySelectorAll("#tab a");
// イベント処理関数をバインドする for (var i = 0; i < as.length; i++) {
    as[i].onclick = 関数(){
        // すべてのdivを非表示にする
        var divs = document.querySelectorAll("#content>div");
        (var i = 0; i < divs.length; i++) の場合 {
            divs[i].style.display = "なし";
        }
        // 対応するdivを表示させる // 現在のaのhrefを取得する
        var i = this.href.lastIndexOf("#");
        var id = this.href.slice(i);
        コンソール.log(id)
        document.querySelector(id).style.display = "ブロック";
    }
 
}

完全なケースコード

htmlファイル

<link rel="スタイルシート" href="mCSS.css" >
 
<h1>タブ切り替え効果を実現する</h1>
<ul id="タブ">
    <li><a href="#content1" >映画とテレビ</a></li>
    <li><a href="#content2" >エンターテイメント</a></li>
    <li><a href="#content3" >テレビシリーズ</a></li>
</ul>
<div id="コンテンツ">
    <div id="content1">最新の映画おすすめ:<br>「ワイルド・スピード」<br>「ベイマックス」</div>
    <div id="content2">ホットなエンターテイメントのおすすめ:<br>「ランニングマン」<br>「The Voice of China」</div>
    <div id="content3">人気のテレビシリーズのおすすめ:<br>「Three Lives, Three Worlds」<br>「Our Times」</div>
</div>
 
 
<script src="mJS.js"></script>

css の書式

*{
    マージン: 0;
    パディング: 0;
}
 
#タブ{
    オーバーフロー: 非表示;
}
 
#タブli {
    フロート: 左;
    リストスタイル: なし;
    幅: 80ピクセル;
    高さ: 40px;
    テキスト配置: 中央;
}
 
#タブ li:first-child、#content1 {
    背景: #ffcc00;
}
 
#タブ li:最初の子 + li、#コンテンツ2 {
    背景: #ff00cc;
}
 
#タブ li:最後の子、#コンテンツ3 {
    背景: #00ccff;
}
 
#タブli a {
    表示: ブロック;
    幅: 100%;
    高さ: 100%;
    行の高さ: 40px;
    色: 白;
    テキスト装飾: なし;
}
 
#コンテンツ {
    位置: 相対的;
}
 
#コンテンツ1、#コンテンツ2、#コンテンツ3 {
    幅: 300ピクセル;
    高さ: 100px;
    位置: 絶対;
    上: 0;
    左: 0;
    パディング: 30px;
    表示: なし;
}
 
#コンテンツ1{
    表示: ブロック;
}

js の

// 特定のラベルをクリックすると、対応する div が表示され、その他は非表示になります。
// イベントをトリガーした要素を検索します var as = document.querySelectorAll("#tab a");
// イベント処理関数をバインドする for (var i = 0; i < as.length; i++) {
    as[i].onclick = 関数(){
        // すべてのdivを非表示にする
        var divs = document.querySelectorAll("#content>div");
        (var i = 0; i < divs.length; i++) の場合 {
            divs[i].style.display = "なし";
        }
        // 対応するdivを表示させる // 現在のaのhrefを取得する
        var i = this.href.lastIndexOf("#");
        var id = this.href.slice(i);
        コンソールログ(ID)
        document.querySelector(id).style.display = "ブロック";
    }
 
}

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

以下もご興味があるかもしれません:
  • JavaScriptでタブページ切り替えを実装する最も簡単な方法(4種類)
  • Vue.jsはタブ切り替え効果を実現します
  • AngularJSのタブ切り替え機能の定番例を詳しく解説
  • JSはタブ切り替え効果を実現します
  • 純粋な JavaScript でタブ ページ切り替えを実装する最も簡単な方法 (推奨)
  • タブを切り替える効果を実現する JS のサンプルコード
  • 純粋な CSS + JS で記述されたスタイルのシンプルなタブ ページ
  • JS でタブ効果を実現する (CSS を使用)
  • AngularJS でタブを実装する 2 つの方法

<<:  DIVまたはDIVで画像を水平方向と垂直方向に中央揃えする方法

>>:  MySQL におけるデータタイムとタイムスタンプの違い

推薦する

HTMLのフォントがline-heightを指定しても垂直方向に中央揃えできない問題の解決方法を詳しく説明します

による写真に示されている効果を例に挙げてみましょう。明らかに、「次へ」というテキストを水平方向だけで...

Vueバスの簡単な使い方

Vueバスの簡単な使い方シナリオの説明:コンポーネント A にはコンポーネント B と C が含まれ...

React dva実装コード

目次ドヴァdvaの使用DVAの実装非同期をサポートルーターの実装成し遂げる:ドヴァdva は、red...

Linux環境でのshadowsocks+polipoグローバルプロキシの設定

1. シャドウソックスをインストールするsudo apt-get install python-pi...

Vueのデータ応答性原則の詳細な説明

この記事は主に、Vue のレスポンシブ ソース コードを理解していない、または触れたことがない人向け...

美しい FLASH ウェブサイト デザイン例 50 選

Flashにより、デザイナーや開発者はブラウザ上でリッチなコンテンツを提供し、動き、インタラクティブ...

MySQLイベント計画タスクに関する簡単な説明

1. イベントが有効になっているかどうかを確認する'%sche%' のような変数を表...

Vueはシンプルなデータ双方向バインディングを実装します

この記事では、Vueの具体的なコード例を参考までに紹介します。具体的な内容は以下のとおりです。初心者...

6ull が Linux ドライバ モジュールをロードできない問題の解決方法

目次0x01 ドライバーモジュールのロードに失敗しました0x02 ソリューション要約する0x01 ド...

mysql8.0.12 でルートパスワードをリセットする方法

データベースをインストールした後、誤ってインストール ウィンドウを閉じたり、長期間 root ユーザ...

vue で h5 側のアプリを開きます (Android か Apple かを判断します)

1. 開発環境 vue+vant 2. コンピュータシステム Windows 10 Profess...

Linux システムでの CPU 使用率が高い場合のトラブルシューティングのアイデアと解決策

序文Linux 運用保守エンジニアとして、日々の業務の中で Linux サーバーの CPU 負荷が ...

Windows で virtualenv を使用して仮想環境を作成する方法 (2 つの方法)

オペレーティング システム: windows10_x64 Python バージョン: 3.6.8仮想...

Vue での weixin-js-sdk の一般的な使用方法の詳細な説明

リンク: https://qydev.weixin.qq.com/wiki/index.php?ti...

JavaScript でグレイウルフのポットビーティングゲームを実装

1. プロジェクト文書 2. ページレイアウトにHTMLとCSSを使用するHTML部分 <di...