jsはクリックしてカードを切り替える機能を実現します

jsはクリックしてカードを切り替える機能を実現します

この記事の例では、クリックしてカードを切り替える機能を実現するためのjsの具体的なコードを共有しています。具体的な内容は次のとおりです。

実際のアプリケーションでは、要素をクリックしたり移動したりしてドロップダウン メニューやページをポップアップ表示することは、Web デザインでよく使われる操作です。

次に、メニューをクリックしてメニューを切り替える機能を実装し、js を使用してこの機能を実装する 3 つの方法を提供します。

1. HTMLを使用して基本構造を設計する

<本文>
<h2>マルチタブクリックスイッチ</h2>
<ul id="タブ">
  <li id="tab1" value="1">10元セット</li>
  <li id="tab2" value="2">30元セット</li>
  <li id="tab3" value="3">月額50元</li>
</ul>
<div id="コンテナ">
  <div id="content1">
    10 元パッケージの詳細: <br/>&nbsp;月額パッケージ内での通話は 100 分、超過分は 0.2 元/分</div>
  <div id="content2" スタイル="display: none">
    30 元パッケージの詳細: <br/>&nbsp; 月間パッケージ内で 300 分の通話、超過分は 1.5 元/分</div>
  <div id="content3" スタイル="display: none">
    月額 50 元のパッケージの詳細: <br/>&nbsp;月間通話無制限</div>
</div>
</本文>

2. CSSを使用して基本的なスタイルをデザインする

<スタイル>
    * {
      マージン: 0;
      パディング: 0;
    }
    #タブli {
      フロート: 左;
      リストスタイル: なし;
      幅: 80ピクセル;
      高さ: 40px;
      行の高さ: 40px;
      カーソル: ポインタ;
      テキスト配置: 中央;
    }
    #容器 {
      位置: 相対的;
    }
    #コンテンツ1、#コンテンツ2、#コンテンツ3 {
      幅: 300ピクセル;
      高さ: 100px;
      パディング: 30px;
      位置: 絶対;
      上: 40px;
      左: 0;
    }
    #タブ1、#コンテンツ1 {
      背景色: #ffcc00;
    }
    #タブ2、#コンテンツ2 {
      背景色: #ff00cc;
    }
    #タブ3、#コンテンツ3 {
      背景色: #00ccff;
    }
</スタイル>

3.jsはクリック切り替え機能を実装します

//ネイティブjs
  var コンテナ = document.querySelectorAll('#container>div')
  var event_li = document.querySelectorAll('#tab>li')
  var 現在のインデックス = 0
  for(var i=0;i<event_li.length;i++){
    イベント_li[i].num=i
    event_li[i].onclick=関数(){
      コンテナ[現在のインデックス].style.display='なし'
      var index_other = this.num
      コンテナ[index_other].style.display='ブロック'
      現在のインデックス=インデックス_その他
  }}
//jQuery 実装では、親要素をクリックすると、すべての子要素が display_none になり、クリック イベントのある要素の子要素が display_block に設定されます。
var $container = $('#container>div')
$('#tab>li').click(function(){
  $container.css('表示', 'なし')
  var インデックス = $(this).index()
  var index_other = $(this).val()-1
  $container[index_other].style.display = 'ブロック'
})
//jQuery 実装では、親要素をクリックすると、最初の要素の子要素は display_none になり、クリック イベントのある要素の子要素は display_block に設定されます。
現在のインデックス=0
$('#tab>li').click(function(){
  $($container[currentindex]).css('display', 'none')
  var インデックス = $(this).index()
  $container[index].style.display = 'ブロック'
  現在のインデックス=インデックス
})

4. まとめ

(1) ネイティブjsでもクリックして切り替える機能は実現できますが、jQueryを使う方が簡単です。構文はシンプルですが、機能は強力です。

(2)方法2と3を比較すると、方法2ではクリックイベントをトリガーした後、すべての子要素の表示モードをnoneに設定していることがわかります。明らかに、子要素の数が多い場合は、必要な変更の数もそれに応じて増加し、必然的に読み込みパフォーマンスに影響を与えます。したがって、方法3に最適化する必要があります。

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

以下もご興味があるかもしれません:
  • jsはクリックして切り替えるTABタグインスタンスを実装します
  • Vue.js トグルボタンをクリックして例の内容を変更します
  • クリックスイッチTABタグの例を実現するシンプルな純粋なjs
  • JSで実装したシンプルなタブクリック切り替え機能の例
  • ネイティブJSは画像の非表示と表示を実現し、JSは画像のクリックと切り替えを実現します
  • jQuery プラグイン jquery.LightBox.js は、クリックして画像を拡大したり、左クリックと右クリックを切り替える効果を実現します (デモ ソース コードのダウンロードあり)
  • チェックボックスをクリックして背景画像を切り替えるための js を使用した簡単な例
  • JavaScript で実装したシンプルなタブクリック切り替え機能の例
  • JavaScript でタブクリック切り替えのサンプルコードを実装する
  • JSは、水色のシンプルな垂直タブクリック切り替え効果を実現します

<<:  Centos8 で Docker を使用して Django プロジェクトをデプロイする詳細なチュートリアル

>>:  MySQLにおける正規表現の一般的な使用法

推薦する

Dockerを使用してJenkinsをインストールする方法

目次1. イメージをプルする2. ローカルデータボリュームを作成する3. コンテナを作成する4. J...

MySQLはテーブルデータを復元するためにfrmファイルとibdファイルを使用します

目次frm ファイルと ibd ファイルの紹介frm ファイル回復テーブル構造ibd ファイル回復テ...

ウェブページをデザインするには?ウェブページを作成するには?

Web デザインの理解に関しては、多くの人がまだ Web ページ制作のレベルにとどまっているようで...

Nginx 急ぎ購入 電流制限構成 実装分析

ビジネス上のニーズにより、急ぎの購入が発生することが多いため、ロード バランシング フロント エンド...

base target="" はリンクのターゲットオープンフレームを制御します

<base target=_blank> は、基本リンクのターゲット フレームを新しいペ...

JS ES 新機能テンプレート文字列

目次1. テンプレート文字列とは何ですか? 2. 複数行のテンプレート文字列2.1 式付きテンプレー...

HTML構造化実装方法

DIV+css構造 CSSレイアウトを学んでいますか?まだ純粋な CSS レイアウトを完全に習得でき...

Dockerfile 内の予約語命令の解析処理

目次1. Dockerfile とは何ですか? 2. Dockerfile構築プロセスの分析3. D...

HTML の基本 - ハイパーリンク スタイルを設定する簡単な例

*** ハイパーリンクのスタイル設定の例a:link クリックされる前のハイパーリンクの状態a:vi...

Docker イメージの最適化 (1.16GB から 22.4MB)

目次最適化の第一歩: 軽量ベースイメージの使用第2段階の最適化:多段階構築Docker は、ソフトウ...

React、Angular、Vueの3つの主要なフロントエンド技術の詳細説明

目次1. 反応する基本的な使い方注目すべき機能クラスコンポーネント仮想DOMライフサイクルメソッドJ...

ログインフォームを実装するためのJavaScript

この記事の例では、ログインフォームを実装するためのJavaScriptの具体的なコードを参考までに共...

CSS の Display、Visibility、Opacity、rgba、z-index: -1 の違い

ウェブページ上のいくつかの要素の非表示、透明、その他のプロパティを制御する必要があることがよくありま...

フロントエンド開発者は毎日HTMLタグの理解を学ばなければならない(1)

2.1 セマンティクス化により、Webページが検索エンジンに理解されやすくなりますこの章では、We...