前提・実現したいこと
jQueryでslideToglleの逆(上から下に閉じる、下から上に表示)のようなアニメーションを実装したいです。
「.under-banner-toggle」をクリックすると、「.under-banner」が消えたり表示されたりというアニメーションです。
該当のソースコード
HTML
1<div class="under-banner-toggle"> 2 <div class="toggle-btn-wrapper"> 3 <i class="open fas fa-angle-down"></i> 4 </div> 5 <hr class="toggle-line"> 6</div> 7<div class="under-banner"> 8 <a id="under-banner-LP" href="#" class="no-icon" target="_blank"> 9 <img class="sp-only" src="https://---.png" alt=""> 10 </a> 11</div>
該当のソースコード
jQuery
1$(".under-banner-toggle").click(function(){ 2 var icon=$(this).find("i"); 3 var downHeight=$(".under-banner").height(); 4 if($(icon).hasClass("open")){ 5 $(icon).removeClass("open"); 6 $(icon).removeClass("fa-angle-down"); 7 $(icon).addClass("fa-angle-up"); 8 $(".under-banner-toggle").animate({ 9 "top":downHeight 10 }) 11 }else{ 12 $(icon).removeClass("fa-angle-up"); 13 $(icon).addClass("fa-angle-down"); 14 $(icon).addClass("open"); 15 $(".under-banner-toggle").animate({ 16 "top":"0" 17 }) 18 } 19 $(".under-banner").toggle(); 20 })
試したこと
jQueyソースコードに記載したように、消したい要素(.under-banner)を.toggleで隠し、「.under-banner-toggle」をアニメーションで下に移動する形でそれっぽく(上から要素が消えるような)動きにはなったのですが、もっといい方法があれば試してみたいと思っています。
ちなみに、「.under-banner」は上から消えて、下から表示される(slideToggleの逆)ようにしたいです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー