前提・実現したいこと
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を使用しています。