質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1914閲覧

表示・非表示の切り替えにアニメーションを付けたいです

spraut

総合スコア6

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/08/24 04:37

編集2020/08/24 06:00

前提・実現したいこと

記事の一覧ページを作成しています。
HTML内にある情報をチェックボックスなどで絞り込んだ際にhideクラスを付与し、
display:noneで表示・非表示を切り替えて画面上で絞り込みされているようにしています。

絞り込み結果が表示される時に記事がフワッと出てくるようなアニメーションをつけたいです

該当のソースコード

HTML

1 2<button id="filterBtn" type="button" onClick="hyouji()>検索する</button> 3<ul class="filter-items" id="contentCase"> 4<li data-filter-key="fa3 fa4 tfa3 th1 th2 th3 th4 th5 th6 ta5 ho5 co5"> 5<p>夫婦のみ | ペット | 2階 | 40~50坪 | 吹抜け | ロフト | リビング | インテリア | 収納 | 家事動線 | 融合 | スポーツ | エボニー</p> 6</li> 7<li data-filter-key="fa1 tfa3 th1 th2 th3 th4 th5 th6 ta5 co6"> 8<p>子育て | 2階 | 40~50坪 | 吹抜け | ロフト | リビング | インテリア | 収納 | 家事動線 | 融合 | ダーク</p> 9</li> 10<li data-filter-key="tfa3 th1 th3 th4 th5 th6 ta5 co4"> 11<p>2階 | 40~50坪 | 吹抜け | リビング | インテリア | 収納 | 家事動線 | 融合 | ミディアム</p> 12</li> 13<li data-filter-key="fa1 tfa2 th1 th2 th3 th4 th5 th6 ta1 co7"> 14<p>子育て | 2階 | 30~40坪 | 吹抜け | ロフト | リビング | インテリア | 収納 | 家事動線 | 和 | ブラック</p> 15</li> 16</ul> 17

CSS

1.hide{ 2display:none; 3} 4@keyframes fadeIn { 5from{opacity: 0} 6to {opacity: 1} 7} 8.view{ 9animation: fadeIn 1s; 10} 11

JavaScript

1function hyouji(){ 2 const ul = document.getElementById('contentCase'); 3ul.classList.add('view'); 4} 5

リロードして最初にクリックした際にはふわっと表示できたのですがリロードなしで二回目以降はふわっとなりませんでした

追記

表示されている→絞り込みを実行→一度全ての記事を非表示にし、該当の記事をふわっと表示
のようにボタンで絞り込みを実行した際にふわっと表示させたいです
一度全ての記事を非表示にする段階でもできたらふわっと消したいです

ボタンをクリックする度にふわっと表示させたいです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2020/08/24 04:40

もともと表示されているのは一度けしてからふわっと表示するのですか? 消す方はふわっとしてなくてよいのでしょうか?
spraut

2020/08/24 04:54

質問がわかりづらくて申し訳ございません 追記致しました
m.ts10806

2020/08/24 04:56

「可能なのでしょうか」が質問でしたら「可能です」となります。 自身が調べたこと試したことを記載し、それについて確認した方が良いと思います。
yambejp

2020/08/24 05:12

絞り込みはもう済んでるのですからなんでもかんでも全部見せるのはやめましょう フェードインにしぼった処理だけ質問し、ご自身のソースに適用さてください
spraut

2020/08/24 06:08

どう質問していいかわからず大きく質問し、色々とコードを載せてしまい申し訳ございません もう少し範囲を考えて質問するようにします
guest

回答1

0

ベストアンサー

CSSのキーフレームアニメが一般的です

css

1@keyframes fadeIn { 2 from{opacity: 0} 3 to {opacity: 1} 4}

投稿2020/08/24 05:09

yambejp

総合スコア116724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2020/08/24 05:09

<style> .hide{ display:none; } @keyframes fadeIn { from{opacity: 0} to {opacity: 1} } #ul1 li.view{ animation: fadeIn 1s; } </style> <script> window.addEventListener('DOMContentLoaded', ()=>{ document.querySelectorAll('[data-fadein]').forEach(x=>{ x.addEventListener('click',(e)=>{ var view=e.target.dataset["fadein"].split(","); document.querySelectorAll('#ul1 li').forEach((x,y)=>{ var flg=view.includes((y+1).toString()); x.classList.toggle('hide',!flg); x.classList.toggle('view',flg); }); }); }); }); </script> <ul id="ul1"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul> <input type="button" value="2と3" data-fadein="2,3"> <input type="button" value="1と4" data-fadein="1,4"> <input type="button" value="1と3と5" data-fadein="1,3,5">
yambejp

2020/08/24 05:10

最初全部見せるのであれば当初はfadeinしてはまずそうなので viewというクラスがついたときに発動させています
spraut

2020/08/24 07:09

ありがとうございます!
spraut

2020/08/24 07:45 編集

ご丁寧に重ね重ね本当にありがとうございます…!! 助かりました…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問