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

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

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

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

HTML5

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

Q&A

1回答

517閲覧

画像をクリックすると横からスライドで表示されるjsに、追加で「表示されてる部分以外を暗くする」実装をつけたいのと、修正で閉じ方の動きを変えたいです。

rieeeeee

総合スコア0

CSS3

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

HTML5

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

0グッド

0クリップ

投稿2020/06/07 03:42

編集2020/06/10 00:20

前提・実現したいこと

jsで画像をクリックすると横(左側)からスライドで表示される実装を作っています。
現状、表示された部分とそれ以外の境界線がわかりにくいのと、閉じる動きは横から表示されている部分以外をクリックすると閉じるような動きになっています。
以下の内容を実現したいです。

1.横から表示されると、それ以外の部分を暗くしたい
2.横から表示された部分内に、「☓」のアイコンがあり、☓をクリックすると閉じるように変更したい

発生している問題・エラーメッセージ

まだ、js初心者で勉強中の為、自分でカスタマイズする事が難しい状態。 自分で「閉じるボタン」と「表示以外を暗くする」htmlとcssは書いてみました。該当のソースコード内にあります。

該当のソースコード

<!--この画像をクリックすると横からスライドで表示--> <div id="menu1">    <img class="con1-bg-i-1" src="#" alt="画像">  </div> <!--横から出てくる内容--> <div id="menuContent1">    <!--「☓」のアイコン-->    <div class="close">×</div>       <p class="line-b">横から出てくるテキストが入ります</p> </div>      <!--表示されてる部分以外を暗くする-->     <div class="mask2"></div> <script> $(function() { $('#menu1').click(function() { $('#menuContent1').animate({left: '0'}, 750); $('body').append('<p class="dummy"></p>'); }); $('body').on('click', '.dummy', function() { $('#menuContent1').animate({left: '-750px'}, 750); $('p.dummy').remove(); }); }); </script> #menu1 { margin: 10% 0 0 -4%; filter: drop-shadow(-8px 9px 9px rgba(0,0,0,0.1)); } #menuContent1 { width: 750px; height: 100%; background-color: #ffffff; position: fixed; top: 0; left: -750px; z-index: 900; overflow-y: auto; } /*横から表示したのを、閉じるアイコン*/ .close { font-size: 70px; margin-left: 90%; } /*表示されてる部分以外を暗くする*/ #mask2 { display: none; } .open #mask2 { display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #000; opacity: .8; z-index: 2; cursor: pointer; transition: all .5s; }

試したこと

自分で「閉じるボタン」と「表示以外を暗くする」htmlとcssは書きましたが、これをスクリプト内にどう命令したらよいでしょうか?また、間違えがあれば、修正ヶ所も知りたいです。

補足情報(FW/ツールのバージョンなど)

アドビのドリームウィーバー2019を使用しています。

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

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

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

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

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

phper.k

2020/06/07 04:36

「〜して欲しい」は作業依頼であって、質問ではありません。 こちらのページに書かれている通り、「推奨されない」行為です。書き方を工夫してください。 https://teratail.com/help/avoid-asking
rieeeeee

2020/06/10 00:15

書き方を気をつけます。
guest

回答1

0

ちょっと適当に

javascript

1<style> 2.dummy{ 3top:0; 4left:0; 5 width: 100%; 6 height: 100%; 7 background-color:black; 8 position:absolute; 9 z-index:1; 10opacity:0.5; 11} 12#menuContent1 { 13 width: 750px; 14 height: 100px; 15 background-color: yellow; 16 position:absolute; 17 z-index:2; 18} 19</style> 20<script> 21$(function() { 22 $('#menuContent1').css({left:-750}); 23 $('#menu1').on('click',function() { 24 $('#menuContent1').animate({left: '0'}, 750); 25 $('body').append($('<div class="dummy"></div>')); 26 }); 27 $('.close').on('click',function() { 28 $('#menuContent1').animate({left:-750}, 750).queue(function(){ 29 $('.dummy').remove(); 30 $(this).dequeu(); 31 }); 32 }); 33}); 34</script> 35<div id="menu1"> 36<img class="con1-bg-i-1" src="#" alt="画像"> 37</div> 38 39<div id="menuContent1"> 40<!--?」のアイコン--> 41<div class="close">×</div> 42<p class="line-b">横から出てくるテキストが入ります</p> 43</div> 44 45 46

投稿2020/06/07 04:32

yambejp

総合スコア115010

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

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

rieeeeee

2020/06/10 00:38

ご回答頂き、ありがとうございます。 ☓のアイコンをクリックすると閉じる動きが実現しました。 しかし、もう1つの「横からスライドで出てきた際にその表示以外が、暗くなる」が実装できません。 また、私のソースコードでは問題なかったのですが回答して頂いたコードですと、 画像をクリックして1回目は開いて閉じるのですが、それ以降画像をクリックしても反応せず、横からでてきません。 色々構ってみたのですが実現できず、もう少し詳細がわかれば聞きたいです。 宜しくお願い致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問