我到处搜索,但找不到相同的问题。也许我搜索错误。抱歉。

这是问题,我从经典js调用下面的函数,第一次被激发就可以完成,但是第二次和随后的尝试都失败了,我认为FADEOUT没有被激发,因为我将DIV保持在这页纸。

请告知我该如何解决这个问题。

var Achtung = function(msg){
 var achtung = $('<div id="achtung">'+msg+'<span class="close">x</span></div>');
 $(achtung)
  .css('position', 'fixed')
  .css('top', '5px')
  .css('display', 'none')
  .css('align','center')
  .css('width', '100%')
  .css('margin-left', 'auto')
  .css('margin-right', 'auto')

 $('body').append(achtung);
 $(achtung).fadeIn(1500);
 var hideTimer = setInterval(hideAchtung, 3000);
 $('#achtung .close').click(function(){hideAchtung();});
}

var hideAchtung = function(){ $('#achtung').fadeOut(500); }


我正在从JavaScript内部调用函数

Achtung('Message here...');

最佳答案

只需将您的代码更改为这样:

 $(document).on('click','#achtung .close',function(){hideAchtung();});

07-28 10:21