哪位大神瞧瞧,换了用判断语句写了之后点击能隐藏 ,但不能自动显示了。请问是哪出了问题??

来源:1-3 jQuery中显示元素的show方法

淡水狗

2017-07-19 15:12

不用toggle()方法。也不用$("#a1").hide(1000).show(1000);


  <div class="left">

        <div id="a1">hide-show</div>

        <button>直接hide-show动画</button>

  </div>

    <script type="text/javascript">

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

        if($("#a1").length>0){

            $("#a1").hide(2000);

        }

        else{ 

            $("#a2").show(2000);

        }

    })

    </script> 

用判断语句写了之后点击能隐藏 ,但不能自动显示了。请问是哪出了问题

写回答 关注

5回答

  • 郭越呱呱呱
    2017-07-19 17:20:01
    已采纳

    show()、hide()方法修改的是元素的高度、宽度、透明度;不会修改字符长度的,所以不能用.length判断

    $("button").click(function(){
            if($("#a1").css('display')=='block'){
    			$("#a1").hide(2000);
            }
            else{ 
                $("#a1").show(2000);
            }
        })


    淡水狗

    好的谢谢了。我知道了~~

    2017-07-19 18:09:05

    共 1 条回复 >

  • 不成大触不可熟睡
    2018-04-22 10:21:01

    感觉按照楼上复制粘贴不行

  • qq_蒙蒙细雨_0
    2017-07-20 10:55:20

     <script type="text/javascript">

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

            if($("#a1").length>0){    //判断a1的长度是否大于0,结果只能显示一种

                $("#a1").hide(2000);    //大于0 隐藏,执行完毕,就不在执行else{}里的语句

            }

            else{    

                $("#a1").show(2000);  //小于0 显示

            }

        })

        </script> 

    想要隐藏后自动显示,只需给show() 加个时间

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

            if($("#a1").length>0){  

                $("#a1").hide().show(2000);  

            }

         });

  • 郭越呱呱呱
    2017-07-19 17:12:35

    id写错了亲

  • 郭越呱呱呱
    2017-07-19 17:11:33

    。。。你的#a2在哪

jQuery基础(四)—动画篇

jQuery基础教程动画篇,讲解jQuery基础开启动画修炼

85058 学习 · 262 问题

查看课程

相似问题