HTMLとCSSで”ある<a>要素をクリックすると画面全体が暗くなり(フェードで覆い)、
HTMLとCSSで”ある<a>要素をクリックすると画面全体が暗くなり(フェードで覆い)、 もう一度クリックすると元に戻る”を繰り返すプログラムを組みたく、ネットの記事を参考して”一度クリックすると暗くなる”ところまではできた(下にコードを記しています)のですが、もう一度クリックすると元に戻り、またクリックすると暗くなる・・・という繰り返しをどうすればよいのか分かりません。 <script type="text/javascript"> function fade() { var target = document.getElementById"#〇〇"); target.style.visibility = "visible"; } </script> =========================== ↓クリックしたら現れるフェード <div id="〇〇"></div> ====================== ↓クリックする部分 <a href="javascript:void(0);" onclick="fade();">ここをクリック</a> =========================== ↓CSSでフェードの初期設定をhiddenに #〇〇 { position:absolute; top:0px; left:0px; width:100%; height:100%; background-color:~~; opacity:~~; visibility:hidden; } 方法がわかる方がいらっしゃいましたら教えていただけると幸いです。
JavaScript | HTML、CSS・17閲覧・100
ベストアンサー
JS側ではクラスの付け外しだけにして、表示非表示はCSSでやった方が色々便利。 この場合、クラスを付け外しするのは覆いのdiv自身でもいいが、bodyにつけておくと他の要素も色々いじれて便利。 あと、レイヤーが上に被るとクリックに支障が出るので、pointer-events:noneを指定したほうがいい。
1人がナイス!しています
ご回答ありがとうございます!たしかに表示非表示をCSSで指定する方が応用が利きそうです。ただ、”クラスの付け外し”とはどういうことですか?理解力がなく申し訳ないです(-_-;)
質問者からのお礼コメント
ありがとうございます!
お礼日時:2020/11/26 10:26