javascriptで条件にあった時はidを追加したいです。
ウィンドウの横幅が640以下の場合、class名「nav-content」,「header-logo-menu」、「nav-drawer」、「nav-open」の「span」にidを指定したいです。
最終的になって欲しい形は、ウィンドウサイズ640以下の場合ハンバーガーメニュー表示、640以上の時は横並びでメニューの表示です。
「ハンバーガーメニュー内容」の部分だけであれば横並びになっています。
下記を記載の状態だとハンバーガーメニューに「ハンバーガーメニュー内容」が入らず、ハンバーガーメニュー自体表示されません。
CSS
#nav-drawer { position: relative; } .nav-unshown { display:none; } #nav-open { display: inline-block; width: 30px; height: 22px; vertical-align: middle; } #nav-open, #nav-open:before, #nav-open:after { position: absolute; height: 3px; width: 25px; border-radius: 3px; background: #838383; display: block; content: ''; cursor: pointer; } #nav-open:before { bottom: -8px; } #nav-open:after { bottom: -16px; } #nav-close { display: none; position: fixed; z-index: 10; top: 0; left: 0; width: 100%; height: 100%; background: black; opacity: 0; transition: .3s ease-in-out; } #nav-content { overflow: auto; position: fixed; top: 0; right: 0; z-index: 9999; width: 50%; max-width: 330px; height: 100%; background: #fff; transition: .3s ease-in-out; -webkit-transform: translateX(105%); transform: translateX(105%); } #nav-input:checked ~ #nav-close { display: block; opacity: .5; } #nav-input:checked ~ #nav-content { -webkit-transform: translateX(0%); transform: translateX(0%); box-shadow: 6px 0 25px rgba(0,0,0,.15); } .header-logo-menu{ display: flex; display: -moz-flex; display: -o-flex; display: -webkit-flex; display: -ms-flex; flex-direction: row; -moz-flex-direction: row; -o-flex-direction: row; -webkit-flex-direction: row; -ms-flex-direction: row; position: absolute; top: 35%; right: 5%; } .logo-erea{text-align:center;margin:auto;}
HTML
<div class="header-logo-menu"> <div class="nav-drawer"> <input id="nav-input" type="checkbox" class="nav-unshown"> <label class="nav-open" for="nav-input"><span></span></label> <label class="nav-unshown" id="nav-close" for="nav-input"></label> <div class="nav-content"> <div class="head_text"> <!-- ハンバーガーメニュー内容 --> </div> </div> </div> </div>
javascript
$(function() { var w = $(window).width(); var x = 640; if (w < x) { $(".nav-content").attr('id','nav-content'); $(".nav-drawer").attr('id','nav-drawer'); $(".nav-content").attr('id','nav-content'); $(".nav-open span").attr('id','nav-open'); } });
どうすれば想定通りに動くのでしょうか?
どなたかご教授頂けますと幸いです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/12/03 04:25