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

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

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

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

2回答

3228閲覧

リアルタイムでクラスが変更される要素の制御

castail

総合スコア117

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2016/09/10 05:08

以下のように連続する「hoge-parent」にリアルタイムで「active」というクラスが付与・削除されます。

html

1<div class="hoge-parent"><div class="hoge-child"></div></div> 2<div class="hoge-parent"><div class="hoge-child"></div></div> 3<div class="hoge-parent active"><div class="hoge-child" style="display:block;"></div></div> 4<div class="hoge-parent"><div class="hoge-child"></div></div> 5<div class="hoge-parent"><div class="hoge-child"></div></div> 6<div class="hoge-parent"><div class="hoge-child"></div></div> 7<div class="hoge-parent"><div class="hoge-child"></div></div> 8<div class="hoge-parent"><div class="hoge-child"></div></div>

css

1.hoge-child { 2 display:none; 3}

「active」が付与された時のみその小要素「hoge-child」をフェードインさせたいです。

以下の内容でデフォルト読み込み時の「hoge-child」の表示はできたのですが、その後リアルタイムで切り替えられる「active」との連動方法がわかりませんでした。

javascript

1$(function(){ 2 $('.hoge-parent').each(function(){ 3 if ($(this).hasClass('active')) { 4 $(this).find('.hoge-child').fadeIn(); 5 } else { 6 $(this).find('.hoge-child').fadeOut(); 7 }; 8 }); 9 });

ご教授のほどよろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

実装方法によりますが、フェードくらいであればCSSでやるという手もあります。

CSS

1/* 消えるだけ */ 2.hoge-child { 3 /*display: none;*/ 4 opacity: 0; 5 transition: all 1s ease 0s; 6} 7.active > .hoge-child { 8 /*display: block;*/ 9 opacity: 1; 10} 11```**動くサンプル:**[https://jsfiddle.net/fyxrumhk/](https://jsfiddle.net/fyxrumhk/) 12 13--- 14 15```CSS 16/* 消える&高さもなくなる */ 17.hoge-child { 18 /*display: none;*/ 19 height: 0; 20 opacity: 0; 21 overflow: hidden; 22 transition: all 1s ease 0s; 23} 24.active > .hoge-child { 25 /*display: block;*/ 26 height: 1.23em; 27 opacity: 1; 28} 29```**動くサンプル:**[https://jsfiddle.net/fyxrumhk/1/](https://jsfiddle.net/fyxrumhk/1/)

投稿2016/09/10 07:03

kei344

総合スコア69400

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

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

0

的確にお応えできるか微妙なのですが回答いたします.

以下の内容でデフォルト読み込み時の「hoge-child」の表示はできたのですが、その後リアルタイムで切り替えられる「active」との連動方法がわかりませんでした。

classをactiveに切り替えている部分(イベントが発生している所)に,activeにした子要素を表示する.と記入する方が自然だと思います.

また,なんらかの理由でこれができない場合,timerでclassがactiveかを常に監視する必要があると思います.

javascript

1$(function(){ 2 setInterval(function(){ 3 //ここに監視処理 4 },1000); 5});

投稿2016/09/10 05:21

varlal

総合スコア42

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問