首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >移动端菜单js点击事件无响应

移动端菜单js点击事件无响应
EN

Stack Overflow用户
提问于 2019-06-03 12:45:55
回答 1查看 254关注 0票数 1

当我点击移动菜单汉堡包按钮时,没有任何反应。我预计汉堡菜单将会改变,移动菜单将会显示,尽管这两个事件似乎都不会触发。

我知道我进入了我的javascript MobileMenu.js文件,但是.click()事件似乎没有触发,因为我没有从事件中得到响应。我收到了一个控制台日志,上面显示了我的消息“get into the MobileMenu!”但我不明白“你点击了!”来自事件内部的消息。此外,css也不会触发,因为汉堡包菜单不会转换为X。

我在控制台日志或我的gulp构建或gulp手表上没有收到任何错误。我所有的包也都是最新的。我已经工作了一段时间了,我需要另一双眼睛来看看我错过了什么。

谢谢!

MobileMenu.js

代码语言:javascript
复制
console.log("Got into the MobileMenu!");

class MobileMenu{
    constructor() {
        this.menuIcon = $(".site-header__menu-icon");
        this.siteHeader = $(".site-header__nav");
        this.menuContent = $(".site-header__btn-container");
        this.events();
    }

    events() {
        this.menuIcon.click(this.toggleTheMenu).bind(this);
    }

    toggleTheMenu() {
        console.log("You clicked it!");
        this.siteHeader.toggleClass("site-header--is-expanded");
        this.menuContent.toggleClass("site-header__menu-content--is-visible");
        this.btnContent.toggleClass("site-header__btn-container--is-visible");
    }
} 

export default MobileMenu;

HTML

代码语言:javascript
复制
    <div class="site-header__menu-icon">
      <div class="site-header__menu-icon__middle"></div>
    </div>

    <ul class="site-header__logo" role="navigation">
      <li class=""><a href="/"><h2>Logo name</h2></a></li>
    </ul>
    <ul class="site-header__nav">
      <li class="site-header__nav--item"><a href="#about">About Me</a></li>
      <li class="site-header__nav--item"><a href="#what">What I Do</a></li>
      <li class="site-header__nav--item"><a href="#portfolio">Portfolio</a></li>
    </ul>
    <ul class="site-header__btn-container">
      <li>
        <a href="#" class="btn btn__nav btn--orange open-modal">Get in Touch</a>
      </li>  
    </ul>
  </header>

CSS - some

代码语言:javascript
复制
    position: absolute;
    width: 100%;
    z-index: 2;
    font-family: 'Aclonica', sans-serif;
    padding-bottom: 20px;

    &--is-expanded {
        background-color: rgba($mainBlue, .55);
    }

    @mixin atMedium {
        display: flex;
        position: fixed;
        height: 65px;
        padding-top: 4px;
        background-color: rgba($mainBlue, .9);
        transition: background-color .3s ease-out;
        list-style: none;
        color: #fff;

        &--dark {
            background-color: rgba(23, 51, 72, .85);
        }

    }

我预计当单击菜单按钮时,移动菜单将变为可见,并且菜单内容将填充。

EN

回答 1

Stack Overflow用户

发布于 2019-06-04 20:56:54

回答。发现问题不在于代码,而在于构建过程。脚本没有被正确编译。不过,还是要感谢你的建议。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56421268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档