前提・実現したいこと
アコーディオンメニューをサイトを参考にjQueryで作っています。
読み込んだ際は全て閉じた状態にしたいのですが
最初にページが表示される際一番上のメニューが開いた状態になってしまいます。
該当のソースコード
html
1 2<div class="accordion animated"> 3<div class="acd-group"> 4<a href="#" class="acd-heading">アコーディオン1</a> 5<div class="acd-des">内容が入ります。</div> 6</div> 7<div class="acd-group"> 8<a href="#" class="acd-heading">アコーディオン2</a> 9<div class="acd-des">内容が入ります。</div> 10</div> 11<div class="acd-group"> 12<a href="#" class="acd-heading">アコーディオン3</a> 13<div class="acd-des">内容が入ります。</div> 14</div> 15</div>
css
1 2.accordion .acd-group .acd-heading:before { font-family: fontawesome; } 3.accordion .acd-group .acd-heading:before { cursor: pointer; position: absolute; top: 6px; right: 20px; display: block; padding: 3px 6px 2px; content: "\f105"; font-size: 22px; line-height: 38px; } 4.accordion .acd-group > .acd-heading > span { margin-right: 15px; } 5.accordion .acd-heading { font-weight: 500; position: relative; padding: 20px !important; color: #353535; line-height: normal; cursor: pointer; background-color: #1abc9c; margin-bottom: 10px; display: block; font-family: 'Montserrat', sans-serif; text-transform: uppercase; border-radius: 3px; } 6.acd-des { padding: 0 20px 20px 0; } 7.accordion .acd-group.acd-active .acd-heading, .accordion .acd-group .acd-heading:hover { color: #84ba3f; } 8.accordion .acd-group.acd-active .acd-heading:before { content: "\f107"; } 9.accordion .acd-group.acd-active .acd-heading span { color: #fff; } 10 11.accordion.animated .acd-group .acd-heading { box-shadow: none; border:none; font-size: 18px; margin-bottom: 0; color:#363636; text-transform: inherit; font-weight: 700; padding: 20px 0px 0; } 12.accordion.animated .acd-group.acd-active .acd-heading { font-size: 28px; color: #84ba3f; margin-bottom: 20px; background: none !important;} 13.accordion.animated .acd-group .acd-heading:hover{background: none !important; color: #84ba3f;} 14.accordion.animated .acd-group .acd-heading::before { display: none; } 15.accordion.animated .acd-group .acd-des { padding: 0 30px 20px; }
jQuery
1 (function($){ 2 "use strict"; 3 4 $('.accordion').each(function (i, elem) { 5 var $elem = $(this), 6 $acpanel = $elem.find(".acd-group > .acd-des"), 7 $acsnav = $elem.find(".acd-group > .acd-heading"); 8 $acpanel.hide().first().slideDown("easeOutExpo"); 9 $acsnav.first().parent().addClass("acd-active"); 10 $acsnav.on('click', function () { 11 if(!$(this).parent().hasClass("acd-active")){ 12 var $this = $(this).next(".acd-des"); 13 $acsnav.parent().removeClass("acd-active"); 14 $(this).parent().addClass("acd-active"); 15 $acpanel.not($this).slideUp("easeInExpo"); 16 $(this).next().slideDown("easeOutExpo"); 17 }else{ 18 $(this).parent().removeClass("acd-active"); 19 $(this).next().slideUp("easeInExpo"); 20 } 21 return false; 22 }); 23 });
jQuery触り始めたばかりで、初歩的な質問で申し訳ありません。
ご教示いただけると助かります。
回答1件
あなたの回答
tips
プレビュー