如何将侧边菜单内容包含到自定义汉堡包图标中?

时间:2019-03-27 15:47:04

标签: javascript css hamburger-menu

我设法从我的页面(www.elevendozen.com)的Codepen上获得了一个动画汉堡图标,虽然该图标具有动画效果,但我不知道如何在其中添加侧面导航菜单内容。例如,单击图标时,菜单不会滑出,反之亦然。

我当前正在使用WP Mobile Menu插件,但是其图标没有动画。 你可以帮帮我吗 ?谢谢 !

                                         

<div id="mob-menu-left-panel mobmenu" class="mobmenu_content" onclick="closeNav()"

</div>

1 个答案:

答案 0 :(得分:0)

这有点令人困惑,您应该更具体一些。 如果我正确理解您的问题,是您单击该图标后菜单没有显示?

在div中,您具有一个onclick属性,该属性应与名为closeNav()和openNav()的javascript函数配对。这些功能可用于管理菜单的滑入/滑出。没有它,就没有机会显示菜单。

当我们查看开发人员JavaScript控制台时,会收到此错误:

Uncaught TypeError: Cannot read property 'style' of null
at openNav ((index):81)
at HTMLButtonElement.<anonymous> ((index):92)

当我们要打开菜单时:

Uncaught TypeError: Cannot read property 'style' of null
at closeNav ((index):86)
at HTMLButtonElement.<anonymous> ((index):92)

当我们尝试关闭菜单时。

如果我们查看索引为92的javascript文件,则会显示:

hamburger.addEventListener('click', () => hamburger.classList.contains('is-active') ? closeNav() : openNav());

在这里,一个addEventListener可以监视是否发生事件。在这种情况下,请单击。如果发生单击,则取决于汉堡包是否具有“ is-active”类,它将启动关闭或打开导航功能。

在closeNav和openNav函数中,菜单通过以下方式标识:

document.getElementById(".mob-menu-slideout-over.show-nav-left .mob-menu-left-panel").style.display = "none";

我认为问题出在这里。一个getElementById函数应该以一个id为对象。您的菜单似乎获得了navToShow ID。您应该在此和javascript函数之间建立链接。

但这只是一个建议,而不是一个明确的答案...