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

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

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

阅读 5.5k
6 个回答

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

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

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

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

不明白你要干啥。。

<body>
    <div class="yyy"></div>
    <div class="xxx"></div>
    <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>

有个.stop()方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题