js单击事件在移动菜单上未响应

时间:2019-06-03 04:45:54

标签: javascript jquery html css

当我单击移动菜单汉堡包按钮时,什么也没有发生。我预计,尽管这两个事件似乎都不会触发,但汉堡菜单会发生变化,移动菜单也会显示。

我知道我进入了我的JavaScript MobileMenu.js文件,但是.click()事件似乎没有触发,因为我没有从该事件获得任何响应。我确实收到一条控制台日志,并显示消息“进入MobileMenu!”。但我没有得到“您单击它!”事件内部的消息。另外,由于汉堡菜单没有转换为X,因此CSS也不会触发。

我在控制台日志或gulp构建或gulp监视上没有任何错误。我所有的软件包也是最新的。我已经工作了一段时间了,我需要另一双眼睛看我所缺少的。

谢谢!

MobileMenu.js


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

    <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-一些

    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);
        }

    }

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

1 个答案:

答案 0 :(得分:0)

答案。发现问题不在于代码,而在于构建过程。脚本未正确编译。谢谢你的建议。