首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的第二个函数停止了第一个切换菜单显示的函数?

为什么我的第二个函数停止了第一个切换菜单显示的函数?
EN

Stack Overflow用户
提问于 2019-11-08 07:08:44
回答 1查看 19关注 0票数 0

我想不出一个更好,更具体的标题,所以如果它太含糊了,我很抱歉。我不知道我的代码有什么问题,所以在这个问题上不能再具体了。我欢迎有人给出一个更好的标题的例子。

我正在建立一个Wordpress网站。在它里面,我有一个移动导航菜单栏(通过Wordpress功能进入),当我点击它时,它会显示菜单,当再次点击时,它会隐藏它。我还有第二个功能,当同样的菜单栏被点击时,它会隐藏搜索栏,当我再次点击它时,它应该会显示搜索栏(而菜单是隐藏的)。

问题是,当第二个功能出现时,当单击菜单时,它会显示菜单并隐藏搜索栏,但在第二次单击时,当它应该隐藏菜单并显示搜索栏时,什么也不会发生。菜单栏保持可见,搜索栏保持隐藏。

这是针对以下站点的:http://iga.yohut.ie/

HTML/PHP

代码语言:javascript
复制
   <div class="primary-nav-wrapper-1">
             <div class="primary-nav-wrapper">
        <div class="primary-nav-container">
            <a href="javascript:void(0)" onclick="toggleNav();          moveSearch();">
                 <div class="nav-icon">
                     <div id="burger-icon"></div>
                     <div id="burger-icon"></div>
                     <div id="burger-icon"></div>
                </div>
                </a>
             <?php wp_nav_menu(
                  array(
                    'theme_location'  => 'primary',
                    'container'       => 'nav',
                    'container_class' => 'primary-nav',
                    'menu_class'      => 'navbar',
                    'menu_id'         => 'navbar',

                  )
                ); ?>

            </div> 

          </div>
          </div>

CSS

代码语言:javascript
复制
#search-5 {

    display: block;
    width: 80%;
    margin: 0 auto 20px auto;
    position: absolute;
    top: 335px;
    left: 10%;
}

JS

代码语言:javascript
复制
function toggleNav() {
            var nav = document.getElementById("navbar"); 
            if (!nav.style.display || nav.style.display === "none") {
                nav.style.display = "block";
            } else {
                nav.style.display = "none";
            }

        };



function moveSearch() {
    var nav = document.getElementById("navbar"); 
    var search = document.getElementById("search-5");
    if (nav.style.display = "block") {
        search.style.display = "none";

    }

    else {
        search.style.display ="initial";


    }
}

当我console.log一个响应时,我只在打开菜单时得到一个响应,但在试图关闭它时没有响应。

我对Javascript只有一个基本的了解,所以这可能是一个简单的错误。

有人能帮帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2019-11-08 07:13:39

在moveSearch()函数中,如果比较:=应该为===,则有一个拼写错误

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

https://stackoverflow.com/questions/58758149

复制
相关文章

相似问题

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