ヤビブロ

  • ホーム
  • ブログ
  • お問い合わせ

ヤビブロ

  • ホーム
  • ブログ
  • お問い合わせ

jQuery・vue.js不要!javascriptで複数対応のアコーディオンを作成する方法

2019年1月30日
js

最近、jQueryを使わずVue.jsでサイト制作を行う機会があったのですが、その際に複数のアコーディオンを実装するページがありました。

よし、Vueで組むか!と思い調べてみると、実装している参考サイトもあったのですが、dataとUIの紐付けだったり、dataに複数要素をもたせりと面倒くささプラス視認性・メンテナンスが悪くなりそうだなと思い、Vueで複数アコーディオンを書こうと思うのをやめました。(僕が知らないだけかも、、)

そもそも、Vueを使っているからと言って全てをVueで作成する必要もない、結局はJavascriptなのだから!
そう思い、素のJavascriptで実装しました。

その際のコードを残して置くので、同じ悩みをもってる人の参考にでもなれば幸いですー!

動作サンプル


See the Pen
【js】jQuery不要!javascriptで複数対応のアコーディオンを作成する方法
by hiroy (@hiroya)
on CodePen.

スポンサードサーチ

簡単な説明

HTMLのddタグをcssで非表示にし、dt(.sample)をクリックすると、その要素の次の要素にactiveというクラスを付与する、といったコードになります。

var text = document.getElementsByClassName(“sample”);


↑このsampleの部分を任意のクラスに変えて、クリックした次の要素にcss指定してあげれば簡単に実装ができます!

関連記事

  • 超簡単!jsでカウントダウンタイマー(残り〜日)を設置する方法2019年1月30日 超簡単!jsでカウントダウンタイマー(残り〜日)を設置する方法
  • javascriptでjQueryの$(this).addClass()と同じ扱いを再現する方法(クリックした要素編)2019年1月27日 javascriptでjQueryの$(this).addClass()と同じ扱いを再現する方法(クリックした要素編)
  • 【jQuery】要素にランダムかつ重複なしにクラスを付与する方法2019年1月27日 【jQuery】要素にランダムかつ重複なしにクラスを付与する方法
  • コピペでOK! jQueryで上下連動タブの切り替えをする方法2019年1月27日 コピペでOK! jQueryで上下連動タブの切り替えをする方法
  • 【css】文字(テキスト)にborderをつけるように縁取りをする方法2019年1月30日 【css】文字(テキスト)にborderをつけるように縁取りをする方法

スポンサードリンク

  • 最近の投稿

    • 【基礎】Vue.jsの『コンポーネント』とは?【基礎】Vue.jsの『コンポーネント』とは?2019年6月25日
    • 【Yarn + Vue CLI】を使って簡単にVue.jsの環境構築をする方法【Yarn + Vue CLI】を使って簡単にVue.jsの環境構築をする方法2019年6月17日
    • コピペでOK!Vue.jsで『ハンバーガーメニュー』を実装する方法コピペでOK!Vue.jsで『ハンバーガーメニュー』を実装する方法2019年3月8日
    • 【Mac】vscodeの拡張機能を一括インストールする方法【Mac】vscodeの拡張機能を一括インストールする方法2019年3月8日
    • js不要!cssのみで『無限ループスライダー』を作成する方法js不要!cssのみで『無限ループスライダー』を作成する方法2019年2月24日
    • jQuery・vue.js不要!javascriptで複数対応のアコーディオンを作成する方法jQuery・vue.js不要!javascriptで複数対応のアコーディオンを作成する方法2019年1月30日
    • 【git】新規作成、複製したファイルがsourcetree上で反映されない!?そんな時の解決法【git】新規作成、複製したファイルがsourcetree上で反映されない!?そんな時の解決法2019年1月30日
    • 【css】文字(テキスト)にborderをつけるように縁取りをする方法【css】文字(テキスト)にborderをつけるように縁取りをする方法2019年1月30日
  • カテゴリー

    • AMP (2)
    • android (1)
    • atom (2)
    • css (25)
    • facebook (1)
    • font (1)
    • form (1)
    • FTP (1)
    • git (3)
    • gulp (3)
    • html (2)
    • IE (1)
    • instagram (1)
    • iphone (3)
    • jquery (13)
    • js (5)
    • Mac (10)
    • Photoshop (5)
    • SourceTree (5)
    • Subversion (1)
    • twitter (1)
    • Vue.js (3)
    • Webフォント (1)
    • windows (2)
    • WordPress (7)
    • お知らせ (1)
    • サクラエディタ (1)
    • セキュリティ (1)
    • パララックス (1)
    • 便利ツール (6)
    • 差分チェック (1)
    • 日記 (4)
  • アーカイブ

  • タグ

    android atom background-image before break-all clcl clipmail counter-increment cssハック facebook git github html IE11 instagram iphone ipアドレス linear-gradient Math.random mCustomScrollbar Noto Sans Japanese select snapwidget SourceTree table tool transform transition twitter url改行 windows word-break お問い合わせ コピペ サクラエディタ スクロールバー タスクバー テキストエディタ パッケージ フォーム プラグイン 埋め込み 擬似クラス 改行コード 純正ボタン

    Copyright © 2016 ヤビブロ All Rights Reserved.