MENU
  • ホーム
  • エンジニア技術MEMO
  • デザインチーム
    • webコーダー挑戦
    • Webデザイナ挑戦デザイナーがWebデザイナーに挑戦し、コーディングやデザインマターでの困りごとや調査内容、他の専門家との情報交換等を投稿します。
    • WordPressWordpressのサイト構築あれこれ!
    • コーダー技術MEMO
    • デザインチーム
  • IT TOOL
    • ECサイトIT TOOL ECサイト
    • レッスン施術サービスレッスン施術サービス予約サイト
    • 美容院予約美容院予約システム
    • 会議室予約
    • 家事代行予約
    • 求人サイト
    • 発注・請求システム
  • IT導入補助金
  • 電気自動車(EV)
  • FAQ
  • どこの国
  • 業務効率化
    • 見積
    • 請求
  • ホーム
  • エンジニア技術MEMO
  • デザインチーム
    • webコーダー挑戦
    • Webデザイナ挑戦デザイナーがWebデザイナーに挑戦し、コーディングやデザインマターでの困りごとや調査内容、他の専門家との情報交換等を投稿します。
    • WordPressWordpressのサイト構築あれこれ!
    • コーダー技術MEMO
    • デザインチーム
  • IT TOOL
    • ECサイトIT TOOL ECサイト
    • レッスン施術サービスレッスン施術サービス予約サイト
    • 美容院予約美容院予約システム
    • 会議室予約
    • 家事代行予約
    • 求人サイト
    • 発注・請求システム
  • IT導入補助金
  • 電気自動車(EV)
  • FAQ
  • どこの国
  • 業務効率化
    • 見積
    • 請求
  • ホーム
  • エンジニア技術MEMO
  • デザインチーム
    • webコーダー挑戦
    • Webデザイナ挑戦デザイナーがWebデザイナーに挑戦し、コーディングやデザインマターでの困りごとや調査内容、他の専門家との情報交換等を投稿します。
    • WordPressWordpressのサイト構築あれこれ!
    • コーダー技術MEMO
    • デザインチーム
  • IT TOOL
    • ECサイトIT TOOL ECサイト
    • レッスン施術サービスレッスン施術サービス予約サイト
    • 美容院予約美容院予約システム
    • 会議室予約
    • 家事代行予約
    • 求人サイト
    • 発注・請求システム
  • IT導入補助金
  • 電気自動車(EV)
  • FAQ
  • どこの国
  • 業務効率化
    • 見積
    • 請求
  1. ホーム
  2. IT TOOL
  3. jQuery:アコーディオンメニューを設置する

jQuery:アコーディオンメニューを設置する

2023 7/31
IT TOOL Webデザイナ挑戦 コーダー技術MEMO
2023年7月31日

アピ子です。

コーダーのオッコ先輩より、ご指導いただいたメモになります。

【課題】

1段目のアコーディオンを開いた時、2段目のアコーディオンに設置したリンクが作動してしまう。

【解決】

クローズした時、ulを隠す

オープンした時、ulを表示

■jQuery

書き込むファイル : ec-common.js

 //--------------------サイドバーアコーディオン--------------------//

 $(function(){

   $('#side_category01, #side_category02').on('click', function(){

-    $(this).toggleClass('open', 500);

+    $(this).toggleClass('open');

     if($(this).hasClass('open')) {

-        $(this).find('ul').show();

+        $(this).find('ul').show(500);

     } else {

-        $(this).find('ul').hide();

+        $(this).find('ul').hide(500);

     }

   });

 });


■tpl(html)

<head>
 <script src="/libs/jquery/jquery/jquery-3.5.1.min.js"></script>
</head>
:
:

<div id="side_category">
                        <div class="side_category_box">
                            <nav>
                                <ul>
                                    <li id="side_category01" class="side_category uk-margin-bottom">01ALL
                                    <div class="btn">
                                        <span></span>
                                        <span></span>
                                    </div>
                                    <ul>
                                        <li><a href="" title="side_category01-1">side_category01-1</a></li>
                                        <li><a href="" title="side_category01-2">side_category01-2</a></li>
                                        <li><a href="" title="side_category01-3">side_category01-3</a></li>
                                        <li><a href="" title="side_category01-4">side_category01-4</a></li>
                                        <li><a href="" title="side_category01-5">side_category01-5</a></li>
                                    </ul>
                                    </li>
                                    <li id="side_category02" class="side_category uk-margin-bottom">02ALL
                                        <div class="btn">
                                            <span></span>
                                            <span></span>
                                        </div>
                                        <ul>
                                            <li><a href="" title="side_category02-1">side_category02-1</a></li>
                                            <li><a href="" title="side_category02-2">side_category02-2</a></li>
                                            <li><a href="" title="side_category02-3">side_category02-3</a></li>
                                            <li><a href="" title="side_category02-4">side_category02-4</a></li>
                                            <li><a href="" title="side_category02-5">side_category02-5</a></li>
                                        </ul>
                                    </li>
                                    <li class="uk-margin-top">
                                        <ul>
                                            <li class="border_none"><input class="uk-checkbox" type="checkbox">03ALL</a></li>
                                            <li class="border_none"><input class="uk-checkbox" type="checkbox">side_category03-1</a></li>
                                            <li class="border_none"><input class="uk-checkbox" type="checkbox">side_category03-2</a></li>
                                            <li class="border_none"><input class="uk-checkbox" type="checkbox">side_category03-3</a></li>
                                            <li class="border_none"><input class="uk-checkbox" type="checkbox">side_category03-4</a></li>
                                            <li class="border_none"><input class="uk-checkbox" type="checkbox">side_category03-5</a></li>
                                        </ul>
                                    </li>
                                </ul>
                            </nav>
                        </div>
                    </div>



■CSS

/*   サイドバー アコーディオン   */

#side_category ul ul{
	padding: 0;
}
#side_category li li:first-child {
	border-top: 1px solid #e5e5e5;
}
#side_category li {
	list-style: none;
	cursor: pointer;
}
#side_category a {
	text-decoration: none;
}
#side_category {
	/*margin: 6em auto;*/
}
#side_category .side_category_box {
	width: 100%;
}
#side_category .side_category ul {
	color: #666;
	display: none;
	margin: 0;
	padding: 0;
	position: relative;
}
#side_category .side_category li  {
	height: 0;
	opacity: 0;
	margin-bottom: 0;
}
#side_category .side_category a {
	color: #666;
	display: block;
	margin: 0;
	padding: 10px;
}
#side_category01 {
    padding: 10px;
    background: #fff;
    color: #666;
    border: 1px solid #e5e5e5;
	border-radius: 5px;
}
#side_category02 {
	padding: 10px;
    background: #fff;
    color: #666;
    border: 1px solid #e5e5e5;
	border-radius: 5px;
}
#side_category03 {
	padding: 10px;
    background: #fff;
    color: #666;
    border: 1px solid #e5e5e5;
	border-radius: 5px;
}
#side_category01 a:hover {
	background: #e5e5e5;
}
#side_category02 a:hover {
	background: #e5e5e5;
}
#side_category03 a:hover {
	background: #e5e5e5;
}
#side_category .open li {
	height: auto;
	opacity: 1;
}
#side_category .btn {
	padding-top: 1.2rem;
	float: right;
}
#side_category .btn span {
	background: #9e9e9e;
	display: block;
	width: 10px;
	height: 2px;
}
#side_category .btn span:nth-child(2) {
	position: relative;
	top: -2px;
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	transform: rotate(90deg);
}
#side_category .open .btn span:first-child {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(45deg);
	transition: 1.5s;
}
#side_category .open .btn span:nth-child(2) {
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	transform: rotate(135deg);
	transition: 1.5s;
}
#side_category .open li:first-child {
	margin: 10px 0 0 0;
}
.border_none {
    border-top: none !important;
}
#side_category .uk-checkbox {
	margin-right: 1rem
}

トランジション (transition) は、要素の 2 つの状態間の変化を定義するためのものです。それぞれの状態は :hover や :active のような擬似クラスで定義されたり、 JavaScript を使用して動的に設定されたりします。

IT TOOL Webデザイナ挑戦 コーダー技術MEMO
アコーディオン
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
  • monaca Android リリースビルド失敗について
  • WordPress|Elementor 画像の上にボタンを設置したい!!

この記事を書いた人

wpmasterのアバター wpmaster

関連記事

  • 修正作業の工数を削減する方法|テンプレートと自動化の活用術
    2025年4月23日
  • 承認フローもSaaSで自動化!見積書業務の効率化に向けた第一歩
    2025年4月23日
  • 見積書の保存・管理に手間をかけない!工数削減できる仕組みを解説
    2025年4月23日
  • 見積業務を完全効率化!作成から承認・送付・保存まで IT TOOL活用ガイド
    2025年4月22日
  • アピス IT TOOL アピス発注・請求システム 機能概要説明【2025年上期】
    2025年4月22日
  • 電子帳簿保存法対応!零細企業 小規模事業者に最適なおすすめアピス 請求書システム
    2025年1月22日
  • IT導入補助金2025|知らなきゃ危ない不正受給の具体例と回避策
    2025年1月19日
  • IT導入補助金2025|2024年との違いを徹底比較!今年注目すべき4つの変更点
    2025年1月10日

コメント

コメントする コメントをキャンセル

カテゴリー

  • ECサイト
  • IT TOOL
  • IT導入補助金
  • monaca
  • PC関連
  • Shopify
  • webコーダー挑戦
  • Webデザイナ挑戦
  • Web制作
  • Wordpress
  • アパレル
  • エクセル・ワード
  • エンジニア技術MEMO
  • お知らせ
  • コーダー技術MEMO
  • スマートガジェット
  • セキュリティ
  • セルフオーダーシステム
  • デザインチーム
  • どこの国
  • ネットで販売
  • ブログ
  • ブログ
  • ブログ収益化
  • プロンプト
  • マーケティング
  • レッスン施術サービス
  • 会議室予約
  • 回線・インターネット
  • 家事代行予約
  • 未分類
  • 業務効率化
  • 画像生成AI
  • 発注・請求システム
  • 社内用
  • 社長
  • 美容院予約
  • 見積
  • 見積
  • 請求
  • 電気自動車(EV)

最近の投稿

  • 100記事書いてもアクセスが増えない?記事リライト後の測定のコツとアクセス数の目安を解説
  • ブログアクセス数が目安に届かない…100記事書いたのにアクセスが増えない人の改善ステップ
  • 100記事書いてもアクセスが増えない?記事リライトのコツとアクセス数の目安を解説
  • 初心者向け:なぜ記事が “表示回数0” のまま放置されるのか?実例で学ぶSEO改善の基本
  • SWELLテーマで埋め込み(oEmbed)がうまくいかない?原因と対処法まとめ

最近のコメント

  1. Elementor Pro ライセンス・更新について に wpmaster より
  2. Elementor Pro ライセンス・更新について に 志村和久 より

アーカイブ

  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年4月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年12月
  • 2023年11月
  • 2023年10月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月

APICE

問い合わせ

アピステクノロジー|tec note

  • ホーム
  • エンジニア技術MEMO
  • デザインチーム
    • webコーダー挑戦
    • Webデザイナ挑戦
    • WordPress
    • コーダー技術MEMO
    • デザインチーム
  • IT TOOL
    • ECサイト
    • レッスン施術サービス
    • 美容院予約
    • 会議室予約
    • 家事代行予約
    • 求人サイト
    • 発注・請求システム
  • IT導入補助金
  • 電気自動車(EV)
  • FAQ
  • どこの国
  • 業務効率化
    • 見積
    • 請求

 〒224-0032 神奈川県横浜市都筑区茅ケ崎中央42−21 第2佐藤ビル 203

電話番号: 045-532-4480

お問い合せ

© .

目次