首页 > 解决方案 > JS 函数中的 JQuery 在第一次单击时不起作用,但在对该元素执行其他操作后起作用。

问题描述

我是 JQuery 和 Javascript 的新手,在寻找我的问题的答案后,我很难解决它。我有一个 Javascript 函数 openNav 可以完美地打开和关闭我在网页上构建的侧边栏,但是我在函数内部有一行 JQuery,最初似乎不起作用。

代码的目标是在打开和关闭菜单时更改字形图标,并且在单击字形图标本身时可以正常工作。还有大约 12 个额外的“菜单”按钮也可以打开侧边栏。单击这些按钮中的任何一个时,侧边栏都可以正常打开,但是我无法在初始单击时更改字形图标。

function openNav() {
    var sideNavBarElement = document.getElementById("sideNavBar");

    if (sideNavBarElement.style.width == "0px")
        $('#menutoggle').find('span').toggleClass('glyphicon-menu-right').toggleClass('glyphicon-menu-left');

    sideNavBarElement.style.width = "250px";
    document.getElementById("main-body").style.marginLeft = "285px";
}

我已将此功能添加到每个菜单按钮的代码中,第一次打开菜单后,字形图标将交替使用此代码,但第一次单击它并没有改变。任何帮助表示赞赏。谢谢!

标签: javascriptjqueryhtml

解决方案


推荐阅读