jquery显示div并在5秒后隐藏

问题描述 投票:1回答:2

我有一个删除帖子的ajax调用 成功删除我得到1 当我得到1然后我想显示一个通知div div是这样的

<div style="
 display:inline-block;
 float:right;
 border:1px solid #060;
 background:#FFC;
 padding:10px 20px;
 box-shadow:2px 2px 4px #666;
 color:#060;
 font-weight:bold;
 display:none;
 " id="messageBox">
  post deleted successfully.
</div>

我的Jquery代码是这样的

$("#messageBox").hide().slideDown();
  setTimeout(function(){
      $("#messageBox").hide();        
  }, 3000);

当我删除帖子时,它通常显示messageBox div并在3秒后隐藏它 但是当我删除一个帖子并再次删除另一个帖子时 现在第一个通知尚未隐藏

$("#messageBox").hide().slideDown();

被调用,因此它隐藏第一条消息并显示第二条消息

但它很快就隐藏了,我想第一条消息完成3秒钟

jquery hide show messagebox
2个回答
3
投票

尝试

var tId;

$("#messageBox").hide().slideDown();
clearTimeout(tId);
tId=setTimeout(function(){
  $("#messageBox").hide();        
}, 3000);

0
投票
$("#messageBox").hide().slideDown().delay(3000).fadeOut();
© www.soinside.com 2019 - 2024. All rights reserved.