実現したいこと
タブの切り替え時にふわっと表示させたい。
jQueryでfadeIn(300)を使い切り替えたいが、ふわっと切り替えられない。
該当のソースコード
HTML
1 <nav class="news__tab" aria-label="お知らせメニュー"> 2 <ol> 3 <li class="active"><a>営業情報</a></li> 4 <li><a>その他</a></li> 5 6 </ol> 7 </nav><!-- /.news__tab --> 8 9 <div class="news__area"> 10 <ul class="grid grid-pd2col news-card__list show"> 11 <li class="news-card__item"> 12 <a href="#" class="news-card__link"> 13 <div class="news-card__body"> 14 <time>2020.12.24</time> 15 <p class="news-card__txt">年末最後の営業日は27日になります。</p><!-- /.news-card__txt --> 16 </div><!-- /.news-card__body --> 17 <figure class="news-card__thumb"><img src="img/news01.jpg" alt=""></figure> 18 <!-- /.news-card__thumb --> 19 </a><!-- /.news-card__link --> 20 </li><!-- /.news-card__item --> 21 22 </ul><!-- /.grid grid-pd3colnews-card-list --> 23 24 25 <ul class="grid grid-pd2col news-card__list"> 26 <li class="news-card__item"> 27 <a href="#" class="news-card__link"> 28 <div class="news-card__body"> 29 <time>2023.3.24</time> 30 <p class="news-card__txt">ホームページをリニューアルしました。</p><!-- /.news-card__txt --> 31 </div><!-- /.news-card__body --> 32 <figure class="news-card__thumb"><img src="img/news01.jpg" alt=""></figure> 33 <!-- /.news-card__thumb --> 34 </a><!-- /.news-card__link --> 35 </li><!-- /.news-card__item --> 36 37 </ul><!-- /.grid grid-pd3colnews-card-list --> 38 </div><!-- /.news__aria -->
SCSS
1.news__nav { 2 margin-top: 46px; 3 text-align: center; 4 5 ol { 6 display: flex; 7 justify-content: center; 8 9 li { 10 font-size: 16px; 11 12 13 &:first-child { 14 margin-right: 53px; 15 } 16 17 a:hover, 18 a:focus { 19 color: #978F10; 20 } 21 22 23 24 } 25 } 26 27} 28 29.grid { 30 display: grid; 31 gap: 20px 46px; 32} 33 34//カード 35.news-card__item { 36 background: #F6F6F6; 37 padding: 15px 30px 10px 15px; 38 transition: 0.3s; 39} 40 41.news-card__link { 42 display: flex; 43 flex-direction: row-reverse; 44 justify-content: start; 45 align-items: flex-start; 46} 47 48.news-card__body { 49 margin-left: 30px; 50 51 time { 52 font-size: 14px; 53 line-height: 2.2; 54 } 55} 56 57.news-card__txt { 58 59 font-size: 16px; 60 line-height: 2; 61 62 .blank { 63 display: none; 64 } 65} 66 67.news-card__thumb { 68 69 img { 70 width: 103px; 71 height: 100px; 72 aspect-ratio: 1 / 1; 73 } 74} 75 76@include medium { 77 .news__inner { 78 padding: 60px 25px; 79 } 80 81 .grid-pd2col { 82 display: grid; 83 gap: 20px; 84 grid-template-columns: repeat(2, 1fr); 85 max-width: 1186px; 86 margin: 50px auto 0; 87 } 88 89 90 91} 92 93@include large { 94 .grid-pd2col { 95 gap: 20px 46px; 96 } 97 98 99} 100 101@include x-large { 102 .news-card__txt { 103 .blank { 104 display: block; 105 } 106 } 107} 108 109//ニュースタブ 110.active { 111 text-decoration: underline; 112} 113 114.news__area .show { 115 display: grid; 116} 117 118.news__area ul:not(.show) { 119 display: none; 120}
jQuery
1//ニュース タブ 2//-------------------------------------------- 3$(function () { 4 5 // ①タブをクリックしたら発動 6 $('.news__tab li').click(function () { 7 8 // ②クリックされたタブの順番を変数に格納 9 var index = $('.news__tab li').index(this); 10 11 // ③クリック済みタブのデザインを設定したcssのクラスを一旦削除 12 $('.news__tab li').removeClass('active'); 13 14 // ④クリックされたタブにクリック済みデザインを適用する 15 $(this).addClass('active'); 16 17 // ⑤コンテンツを一旦非表示にし、クリックされた順番のコンテンツのみを表示 18 $('.news__area ul').removeClass('show').fadeOut(300).eq(index).addClass('show').fadeIn(300); 19 20 }); 21}); 22
試したこと
ネットで調べて、fadeIn,fadeOutなど指定しましたがうまく行きません。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
「うまくいかない」という表現は他者に何も伝えない表現で逆質問を引き出すだけなので避けたほうが良いです。
何を調べて、何を考えて、何を試して、何が起きてるのか
を具体的に記載してください
回答2件
あなたの回答
tips
プレビュー