【问题标题】:Jquery else not executing [duplicate]Jquery else不执行[重复]
【发布时间】:2016-11-20 03:10:52
【问题描述】:

我正在尝试制作响应式导航:

       <header>
            <nav>
                <ul class="navigation">
                    <li>
                        <a href="#">asd</a>             
                    </li>
                    <li>
                        <a href="#">asd</a>             
                    </li>
                    <li>
                        <a href="#">asd</a>             
                    </li>
                    <button type="button" id="showmenu"> << </button>
                </ul>
            </nav>
        </header>

不能为 jquery 使用切换,因为按钮也会消失,所以我尝试了另一种方法,但是 else 语句没有执行

$(document).ready(function() {

            if(menu=1) {
            $('#showmenu').click(function(){
                $('nav ul li').hide()
                $('nav ul').css('width', '3%');
                menu = 2;
            });
            }
            else { 

                $('#showmenu').click(function() {
                $('nav ul ').show();
                $('nav ul').css('width', '100%');
                menu = 1;
                });
            }                       
        });

这是一个向左滑动的内联导航。我见过很多其他示例,但没有一个示例中隐藏菜单的按钮位于导航中。对如何使这项工作有任何建议?在此之前使用了切换,但 else 语句仍然不会执行。这是一个 JS 小提琴:http://jsfiddle.net/qEtgR/7/

编辑: == 运算符不会改变任何东西,else 语句仍然不会执行,也不会声明全局 var 菜单。

【问题讨论】:

  • if(menu=1) { ==> if(menu==1) {
  • menu 在哪里定义?顺便说一句,在 if 语句中,您需要 == 运算符........
  • 你少了一些代码。
  • 如果有效,请接受答案!
  • if 语句需要在一个事件处理程序中,以便您检查每次点击

标签: javascript jquery html css


【解决方案1】:

使用相等运算符

if(menu==1) {

【讨论】:

  • 我试过了,我也试过把 menu 作为一个全局变量,else 语句仍然没有执行
【解决方案2】:

这是问题:

$(document).ready(function() {

        if(menu==1) { // "==" missed here
        $('#showmenu').click(function(){
            $('nav ul li').hide()
            $('nav ul').css('width', '3%');
            menu = 2;
        });
        }
        else { 

            $('#showmenu').click(function() {
            $('nav ul ').show();
            $('nav ul').css('width', '100%');
            menu = 1;
            });
        }                       
    });

【讨论】:

  • 这并不能解决逻辑问题
  • 可能,但他分享的代码库有这个错误。
猜你喜欢
  • 1970-01-01
  • 2021-06-18
  • 1970-01-01
  • 2012-08-30
  • 1970-01-01
  • 2014-07-18
  • 2017-10-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多