使用Jquery慢慢隐藏div

Dou*_*eux 0 javascript jquery hover

我正在尝试制作一些代码来查找div是否存在,如果确实存在则会慢慢消失.我有这个来确定div是否存在

    if($('#error').length != 0)
 {
  $('#error').hide(500);
 }  

这确实有效但只是在刷新时,我一直试图把它放在这样的计时器中:

   var refreshId = setInterval(function()
   {
      if($('#error').length != 0)
 {
  $('#error').hide(500);
 }   
   }, 500);

但它没有摆脱innerHTML!我有一些代码,在悬停时改变了错误div的innerHTML,所以我可以填写它,但由于某种原因这不起作用,任何建议都会有所帮助!

谢谢!

swo*_*roc 7

$("#error").fadeOut(500);
Run Code Online (Sandbox Code Playgroud)

更新:

如果您要检查是否存在:

var msg = $("#error");
if(msg.length) {
  msg.fadeOut(500);
}
Run Code Online (Sandbox Code Playgroud)

如果你想清空它:

$("#error").empty();
Run Code Online (Sandbox Code Playgroud)


Nic*_*ver 5

如果您只想延迟500ms然后淡出,请执行以下操作:

$("#error").delay(500).fadeOut();
Run Code Online (Sandbox Code Playgroud)

要清空元素,请提供如下所示的回调.fadeOut():

$("#error").delay(500).fadeOut(function() {
  $(this).html('');
});
Run Code Online (Sandbox Code Playgroud)

没有必要检查.length,如果没有匹配选择器的元素,没有任何反应:)