首页  >  问答  >  正文

javascript - 使用jQuery的.show()方法时有点问题

$(XXX).click(function(){
    $(YYY).show(300);
});

点击后本应该以jQuery默认的swing动画弹出,但是第一次打开延时300ms后直接显示,从第二次开始才有效果,请问是什么问题呢?

PHP中文网PHP中文网2767 天前591

全部回复(6)我来回复

  • 天蓬老师

    天蓬老师2017-04-11 09:02:27

    测试了没发现你说的情况啊,是不是最初的样式有问题?

    https://jsfiddle.net/h29f3g26/

    回复
    0
  • ringa_lee

    ringa_lee2017-04-11 09:02:27

    你需要在第一次调用show(300)之前,在初始化的时候先调用一次hide(0)

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-11 09:02:27

    是不是YYY第一次加载需要时间呢

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-11 09:02:27

    谢邀。
    代码太少,看不出啥。

    你这代码的意思是xxx点击的时候yyy以300毫秒的速度慢慢的显现出来,会逐渐地改变其高度、宽度、外边距、内边距和透明度。

    回复
    0
  • ringa_lee

    ringa_lee2017-04-11 09:02:27

    不明白你要干啥。。

    <body>
        <p class="yyy"></p>
        <p class="xxx"></p>
        <style type="text/css">
        .xxx {
            width: 100px;
            height: 40px;
            background-color: #1abc9c;
            cursor: pointer;
        }
    
        .yyy {
            width: 200px;
            height: 200px;
            background-color: #f55;
            display: none;
        }
    
        </style>
        <script src="https://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
        <script type="text/javascript">
        $('.xxx').click(function(){
            $('.yyy').show(300);
        })
        </script>
    </body>

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-11 09:02:27

    有个.stop()方法

    回复
    0
  • 取消回复