为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不能动态地改变显示和隐藏?


<html xmlns="http://www.w3.org/1999/xhtml">

    <head>

        <title>toggle()方法绑定多个函数</title>

        <script src="http://libs.baidu.com/jquery/1.8.2/jquery.js" type="text/javascript"></script>

        <link href="style.css" rel="stylesheet" type="text/css" />

    </head>

    <body>

        <h3>toggle()方法绑定多个函数</h3>

        <input id="btntest" type="button" value="点一下我" />

        <div>我是动态显示的</div>

        

        <script type="text/javascript">

            $(function () {

                $("#btntest").bind("click", function () {

                    $("div").toggle(

                        function(){

                           $("div").css("display","none");

                        },

                        function(){

                            $("div").css("display","block");

                    })

                })

            });

        </script>

    </body>

</html>



正在回答

3 回答

不用这样也可以实现。toggle()合成事件本身的功能就是显示和隐藏。

jquery版本不同 ,会导致效果不能实现.可以采用如下的办法,这是在Jquery官网上的方法

$("#btn").click(function(){
   $(this).next().toggle();
});

简单,并且能够实现:当点击时显示,再次点击时隐藏。


0 回复 有任何疑惑可以回复我~

你这种写法要点击div的时候才会有所变换,因为这个toggle是作用在div上面的,要是想点击按钮发生变化应该改成

$(function () {

                $("#btntest").toggle(

                   function(){

                        $("div").attr("hidden",false);

                    } ,

                    function(){

                        $("div").attr("hidden",true);

                    } 

                )                                       

            });


1 回复 有任何疑惑可以回复我~

单纯的toggle()就行了,里面不用写函数

0 回复 有任何疑惑可以回复我~
#1

等風來丶

为啥不写函数也行?
2016-01-20 回复 有任何疑惑可以回复我~
#2

523827

因为toggle()方法自带隐藏和显示
2016-02-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154768    人
  • 解答问题       7184    个

加入课程学习,有效提高前端开发速度

进入课程

为什么不能动态地改变显示和隐藏?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信