前提・実現したいこと
CSS transitionとjQueryで開閉メニューを作りたい
発生している問題・エラーメッセージ
メニューを開くボタンを押すと左から右へtransition効果のメニューが出てくるのですが、 出てきたコンテンツを押して一度メニューを非表示にして、 もう一度メニューを開くボタンを押してもtransition効果が無効な状態で表示されます 有効な状態で繰り返すにはどうしたらいいのでしょうか
該当のソースコード
HTML
1<input id="m" type="button" value="メニューを開く"> 2 3<div id="menu" style="position:fixed;z-index:1" class="boxp"> 4<div style="float:left;width:33%;height:100%;background-color:red" onclick="document.getElementById('menu').classList.remove('on');menu.style.display='none';">コンテンツ1</div> 5<div style="float:left;width:33%;height:100%;background-color:green" onclick="document.getElementById('menu').classList.remove('on');menu.style.display='none';">コンテンツ2</div> 6<div style="float:left;width:33%;height:100%;background-color:blue" onclick="document.getElementById('menu').classList.remove('on');menu.style.display='none';">コンテンツ3</div> 7</div> 8
jQuery
1<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> 2<script type="text/javascript"> 3<!-- 4 $(document).ready(function () { 5$("#m").on("click", function(){ 6 7if(!document.getElementById("menu").classList.contains("on")){ 8$("#menu").toggleClass("on"); 9}else{ 10$("#menu").removeClass("on"); 11} 12menu.style.display=""; 13 14}); 15 }) 16</script> 17
CSS
1<style> 2.boxp{ 3opacity: 0; 4width:0%; 5height:70%; 6bottom:0%; 7transition: 1s; 8} 9.boxp.on{ 10opacity: 1; 11width:100%; 12height:70%; 13background-color:black; 14bottom:0%; 15} 16</style>
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/03/05 10:06