この記事の例では、クリックしてカードを切り替える機能を実現するための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/> 月額パッケージ内での通話は 100 分、超過分は 0.2 元/分</div> <div id="content2" スタイル="display: none"> 30 元パッケージの詳細: <br/> 月間パッケージ内で 300 分の通話、超過分は 1.5 元/分</div> <div id="content3" スタイル="display: none"> 月額 50 元のパッケージの詳細: <br/> 月間通話無制限</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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Centos8 で Docker を使用して Django プロジェクトをデプロイする詳細なチュートリアル
この機能を実装するにあたり、本家ブロガーさんから拝借した方法では色の切り替えが実現できず、長い間考え...
現象: divを一定の振幅で円、楕円などに変更する方法: CSSのborder-radiusプロパテ...
序文指定した文字による結合または分割は一般的なシナリオです。MySQL では結合の記述は比較的簡単で...
目次1. バックアップ1.1 万全の準備1.2 追加の準備2 バックアップとリカバリ2.1 データの...
1. Dockerをインストールするまず Linux 環境を開き、次のコマンドを入力してインストール...
シングルページアプリケーションの特徴「前提:」Web ページには、クリックするとサイト内の他のページ...
この記事では、スライダー検証コードを実装するためのJavaScriptの具体的なコードを参考までに共...
1. ウェブページの基本構造: XML/HTML コードコンテンツをクリップボードにコピー<...
ピップとは何かpip は、Python パッケージの検索、ダウンロード、インストール、アンインストー...
nginx を導入した際に、フォワードプロキシの設定も nginx を使っていました。しかし、htt...
Linux では、通常、ファイルの名前を変更するために mv コマンドを使用します。これは、単一のフ...
1. ユーザーにルーチン作成権限がある場合は、プロシージャ | 関数を作成できます。 2. ユーザー...
1. JDKをインストールする1. 古いバージョンまたはシステム独自のJDKをアンインストールする...
仮想マシンは非常に便利なテストソフトウェアです。ハードウェアに損傷を与えることなく、さまざまなテスト...
1. はじめにresolv.conf は、さまざまなオペレーティング システムのドメイン ネーム シ...