问答详情
源自:1-3 jQuery中显示元素的show方法

请教一个小问题,关于判断语句的

对于本节知识点,想做一个手动隐藏和显示的按钮

添加了个id为btn1的按钮,然后js代码如下:

var n=false;
    if(!n){
        $("#btn1").click(function(){
            $("#a1").hide(1500,function(){
                alert("我隐藏了");
                n=true;
                console.log(n)
            })
        })
    }

现在的问题是,

不管变量n是否存在,点击的函数都会触发

这是为什么呢?怎么改进?



提问者:苏子晨 2017-05-11 20:35

个回答

  • qq_說些什庅_0
    2017-05-13 19:30:03
    已采纳

    你这是事件绑定,if语句只执行一次!

    要改成这样:

    var n=false;

     $("#btn1").click(function(){

            if(!n){
                $("#a1").hide(1500,function(){
                    alert("我隐藏了");
                    n=true;
                    console.log(n);
                });
           }else{

                $("#a1").show(1500,function(){
                    alert("我又出来了");
                    n=false;
                    console.log(n);
                });

           }

    })

  • qq圐圙2
    2018-11-11 14:35:46

    没事改着玩去吧

     <script>

                var n=false;

            $("button").click(function(){

                    n=!n;

                    console.log(n);

                        if(n){

                $("#a1").hide(1500,function(){

                    alert("我隐藏了");

                   

                });

           }else{


                $("#a1").show(1500,function(){

                    alert("我又出来了");

                   

                });


           }


    })

    </script>


  • qq圐圙2
    2018-11-11 14:33:50

     <script>

                var n=true;

            $("button").click(function(){

                    n=!n;

                    console.log(n);

                        if(!n){

                $("#a1").hide(1500,function(){

                    alert("我隐藏了");              

                });

           }else{

                $("#a1").show(1500,function(){

                    alert("我又出来了");               

                });

           }

    })

    </script>


  • 慕粉4372379
    2017-05-11 20:38:39

    不懂你的意思