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

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

推過菜單由于某種原因不起作用

推過菜單由于某種原因不起作用

慕標5832272 2022-09-02 16:17:38
我想推送我的菜單,內容也被推向右側,但由于某種原因,JS代碼無法完成工作。 不觸發菜單。有人可以告訴我為什么以及如何解決它嗎?<div class="menu-btn toggle"></div>斷續器$(function() {      $('.toggle').on('click', function() {        $('.wrapper').toggleClass('open');      });    });斷續器.wrapper {    transform: translateX(0px);    transition: transform .4s ease;}.wrapper.open {    transform: translateX(280px);} #main-nav {    transform: translateX(-280px);}斷續器<div class="wrapper">    <nav id="main-nav">        <div class="menu-btn toggle"></div>        <ul></ul>    </nav></div>
查看完整描述

2 回答

?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

您的代碼確實有效,但您需要使代碼可見,以便您可以單擊它。不漂亮,但顯示了它是如何工作的:.toggle


$(function() {

      $('.toggle').on('click', function() {

        $('.wrapper').toggleClass('open');

      });

    });

.wrapper {

    transform: translateX(0px);

    transition: transform .4s ease;

}


.wrapper.open {

    transform: translateX(280px);

}


 #main-nav {

    transform: translateX(-280px);

}


.toggle {

  background-color: grey;

}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="wrapper">

    <nav id="main-nav">

        <div class="menu-btn toggle">|Menu|</div>

        <ul>

          <li>Item 1</li>

          <li>Item 2</li>

          <li>Item 3</li>

        </ul>

    </nav>

</div>


查看完整回答
反對 回復 2022-09-02
?
MYYA

TA貢獻1868條經驗 獲得超4個贊

你的代碼似乎幾乎可以工作,因為JQuery丟失了,在這種情況下,我稍微重寫了一下。還需要為菜單和按鈕添加一些內容以使其可見。您顯示的代碼不足以重現問題。;)


出于可訪問性原因(對鍵盤交互的本機支持),我還建議對此類交互使用實際的按鈕標記。


如果您有興趣:https://developer.mozilla.org/en-US/docs/Learn/Accessibility/HTML


const body = document.body; // Get the document body


// Get your menu with a special JS class, prevents accidents when other

// developers will use your code later on (seperate JS functions from styling classes).

const menuToggle = document.querySelector('.js-site-menu');

// Set a classname to use lateron (DRY).

const menuToggleClass = "is-open";


// Add event to listen to.

menuToggle.addEventListener("click", (event) => {

  // Get current clicked object/target.

  let currentTarget = event.currentTarget;

  // Check if opened class is present on body

  let menuOpened = body.classList.contains(`${menuToggleClass}`);


  // Check if menu is already open.

  if (!menuOpened) {

    // Adds class to body when not opened

    body.classList.add(`${menuToggleClass}`);

  } else {

    // Removes class from body when menu is already opened

    body.classList.remove(`${menuToggleClass}`);

  }

});

`/* Used percentages(%) instead of a fixed px size for easier responsive behaviour later on the road. */`

.main-nav {

  transform: translateX(-101%);

  transition: transform .4s ease;

}


.is-open .main-nav {

  transform: translateX(0%);

}


.main-nav_button {

  position: absolute;

  top: 0;

  right: 0;

}

<div class="wrapper">

  <button type="button" class="main-nav_button js-site-menu">Menu</button>

  <nav class="main-nav">

    <ul>

      <li>Menu item 1</li>

      <li>Menu item 2</li>

      <li>Menu item 3</li>

      <li>Menu item 4</li>

    </ul>

  </nav>

</div>


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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