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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

ラジオボタン

ラジオボタンはフォームに使われる要素のひとつであり、ユーザに限られた選択肢からひとつの答えを選んでもらうというものです。

JavaScript

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

jQuery

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

Q&A

解決済

4回答

2258閲覧

【クリックによる表示切り替え】divが囲んでいる要素を最前面で表示するには

_Lucia

総合スコア25

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

ラジオボタン

ラジオボタンはフォームに使われる要素のひとつであり、ユーザに限られた選択肢からひとつの答えを選んでもらうというものです。

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2018/08/03 06:22

※ボタンと要素が独立しているので今のままでは起動しません。

まず下記のコードについてですが、

cssのpositionを使い、divで囲んでいる3つの要素を重ねています。
それぞれ 「inu」「neko」「tori」と言うidが付いていると思います。
今回表示の切り替えを行いたい部分と言うのは、この3つの要素のことです。
(重なりが分かるように、3つの要素に500pxの背景画像を設定しています)

そしてボタンが3つあると思いますが、表示の切り替えにあたってこれらを起動ボタンとして使用したいと考えています。

例えば、今の状態だとdivのinuコンテンツが最背面にあります。そこで「inuが最前面」のボタンをクリックすると、そのコンテンツが最前面に表示されるということです。

すべて表示されているが重なっていて後ろの要素が見えない状態、そこでボタンをクリックすると、該当するdiv要素が最前面に来るという仕組みにしたいです。

このような仕組みを<button>に適用させるにはどのようなjavascriptが適切でしょうか?

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style type="text/css"> #pet { position:relative; height: 500px; width: 500px; } .doubutu { position:absolute; left:0; top:0; } #inu { background-image: url("inu.png"); height: 500px; width: 500px; } #neko { background-image: url("neko.png"); height: 500px; width: 500px; } #tori { background-image: url("tori.png"); height: 500px; width: 500px; } p { padding-left: 10px; } </style> </head> <body> <button>inuが最前面に</button> <button>nekoが最前面に</button> <button>toriが最前面に</button> <div id="pet"> <duv id="inu" class="doubutu"> <p>※仮<br> コンテンツinuのエリア:縦横共に500px。<br> テキストや画像など入る予定。<br> 背景画像はcss上の、inu.pngにあたる。<br> 初期位置は一番下。</p> </duv> <div id="neko" class="doubutu"> <p>※仮<br> コンテンツnekoのエリア:縦横共に500px。<br> テキストや画像など入る予定。<br> 背景画像はcss上の、neko.pngにあたる。<br> 初期位置は中。</p> </div> <div id="tori" class="doubutu"> <p>※仮<br> コンテンツtoriのエリア:縦横共に500px。<br> テキストや画像など入る予定。<br> 背景画像はcss上の、tori.pngにあたる。<br> 初期位置は一番上。</p> </div> </div> </body> </html>

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

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

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

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

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

guest

回答4

0

ベストアンサー

nekoの場合

JavaScript

1$('#neko').appendTo('#pet');

投稿2018/08/03 09:30

x_x

総合スコア13749

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

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

_Lucia

2018/08/05 01:59

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

0

すでに二つ回答が出ていますが、別のやり方を。
非表示の要素にはopacity:0を、表示させたい要素にはopacity:1を指定してあげるとできます。
これは透明度の操作で見える、見えないを設定するやり方です。
お好みで好きな方法を試してみてください。
画像にリンクを貼り付けたい場合はz-indexを使用するのが良いと思います。

投稿2018/08/03 07:08

編集2018/08/03 07:43
yukihisa

総合スコア672

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

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

0

「inu」「neko」「tori」をposition: absolute;にして表示順はz-indexで指定します。
ボタンをクリックしたら対応するdivのz-indexが一番大きくなるようにすればいいと思います。

投稿2018/08/03 06:43

keisukeh

総合スコア657

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

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

0

すでにcssで回り込み制御しているなら visibility:hidden で表示させたいモノ以外は非表示とする方法がいいのでは無いでしょうか。

最初からjsで制御するのであれば回り込みを解除した上で、該当要素に display:none を設定するといいでしょう。

非表示にするならどっち?

投稿2018/08/03 06:40

namda

総合スコア705

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問