亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

具有相同按鈕的打開和關閉菜單(關閉不起作用)

具有相同按鈕的打開和關閉菜單(關閉不起作用)

aluckdog 2022-08-27 14:38:34
我正在嘗試制作一個疊加菜單,該菜單通過單擊同一菜單來打開和關閉。我已經嘗試使用我在這個論壇上看到的一些解決方案,但我目前擁有的代碼只能打開菜單而不會關閉它?document.getElementById("botaomenu").addEventListener("click", toggleNav);function toggleNav(){    navSize = document.getElementById("myNav").style.width;    if (navSize == 20) {        return close();    }    return open();}function open() {        document.getElementById("myNav").style.width = "20%";}function close() {         document.getElementById("myNav").style.width = "0";}這是小提琴:https://jsfiddle.net/Santos1600/j2L7yga5/1/我已經讓菜單在使用不同的按鈕關閉菜單時工作,但是從設計的角度來看,如果同一個按鈕在單擊時執行這兩個操作,我更喜歡它。
查看完整描述

2 回答

?
holdtom

TA貢獻1805條經驗 獲得超10個贊

寬度計算中存在錯誤


function toggleNav() {

 navSize = document.getElementById("myNav").offsetWidth;

 if (navSize > 0) {

  return close();

 }

  return open();

}

如果您需要在單擊不同的條目后關閉它,您有2個選項:1)如果您單擊任何鏈接,只需添加


onclick="toggleNav();"

到特定鏈接。


2)或者以更通用的方式,在鏈接上添加一個類,例如“mylink”



document.body.addEventListener('click', function (evt) {

if (evt.target.className === 'mylink') {

   toggleNav();

}

}, false);

在代碼中


查看完整回答
反對 回復 2022-08-27
?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

試試這個:https://jsfiddle.net/reyq2064/


// document.getElementById("botaomenu").addEventListener("click", toggleNav);


function toggleNav() {

   navSize = document.getElementById("myNav").style.width;

   if (navSize == '20%') {

      return close();   

   }

   return open();

}


查看完整回答
反對 回復 2022-08-27
  • 2 回答
  • 0 關注
  • 95 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號