如何在.show jquery之后添加时间延迟

时间:2012-01-11 15:12:08

标签: jquery html5 button

我的页面上有一个按钮,按下时会显示一个隐藏的div。有没有办法让我使用jquery .show这样显示这个div(包含文本),显示几秒钟,比如说3秒,然后再次隐藏,没有用户havind重新点击按钮。 (即使用.hide jquery函数)。下面我将附上相应的代码:

<body>

<button  class="info" id="one"> ? </button>

<div class="pop" id="1" style="display: none">
A Careless criminal has dropped a weapon!
</div>

<script>
   $("button#one").click(function () {
    $("div#1").show("slow");
    });
 </script>

</body>

2 个答案:

答案 0 :(得分:4)

描述

你应该使用jQuery的.show().delay().hide()方法。

注意: jQuery .show().hide()在内部使用.animate()

查看示例 jSFiddle Demonstration

示例

$("button#one").click(function () {
    $("div#1").show("slow").delay(3000).hide("slow");
});

更多信息

答案 1 :(得分:2)

是的,轻松使用delayhide

$('div#1').show('slow').delay(3000).hide('slow');

请注意,这是有效的,因为hide是动画功能。如果您没有动画功能并希望执行其他操作(例如,使用remove删除),则必须使用其他方法,使用回调和setTimeout