前提・実現したいこと
要素をクリックするとプルアップで残りの要素が出現して、要素を選択すると選択した要素のみが表示されるようにする(残りの要素が出現した時現在表示中の要素が一番下になるようにしたい)
再度ジャンル2クリック時
### 発生している問題・エラーメッセージ
エラーメッセージ
HTML
html
1<ul class="keywordTab"> 2 <li class="tabLabel show clicked ">全てのジャンル</li> 3 <li class="tabLabel">ジャンル1</li> 4 <li class="tabLabel">ジャンル2</li> 5 <li class="tabLabel">ジャンル3</li> 6 <li class="tabLabel">ジャンル4</li> 7 <li class="tabLabel">ジャンル5</li> 8 </ul>
css
1.keywordTab{ 2 display: flex; 3 flex-direction: column-reverse; 4 justify-content: space-around; 5 align-items: center; 6 margin-bottom: 6rem; 7} 8.tabLabel{ 9 opacity: 0.6; 10 text-align: center; 11 width: calc(300 * (100vw / 375)); 12 height: 5.3rem; 13 font-size: 1.5rem; 14 display: flex; 15 justify-content: center; 16 align-items: center; 17 cursor: pointer; 18 border-bottom: 0.1rem solid #967F4F; 19 color: #000; 20 display: none; 21} 22.tabLabel.show{ 23 display: block; 24} 25.clicked{ 26 opacity: 1; 27}
javascript
1$(".tabLabel").on("click",function(){ 2 var $th = $(this).index(); 3 $(".tabLabel").slideToggle("show"); 4 $(".tabLabel").removeClass("clicked"); 5 // $(".tabContents").removeClass("active"); 6 7 $(this).toggle("show"); 8 $(this).addClass("clicked"); 9 // $(".tabContents").eq($th).addClass("active"); 10 });
試したこと
slideToggleやslidedown等調べて書いてみたがおもいどおりにはいかず。
JavaScriptに関しては調べてなんとなく理解できてるかな程度です。。。
webサイトの例なども見つからず大変お手数ですが、どうかご教授よろしくお願いいたします。
※tabLabelのインデックス順に連動したtabContentsを出現させるコードもありますがこちらはおそらく、選択した要素を一番下に表示するという事を実現するとうまく動作しなくなると思うのでまた別の方法でタブを切り替えれば問題無いかと思います。。。
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/10 06:29
2020/09/10 16:34 編集
2020/09/11 04:49
2020/09/11 09:20