JQuery的fadeOut延迟导致浮动提示框若隐若现

使用 JQuery 控制一个浮动提示层,当鼠标放到相应文字上的时候,JQuery就自动读取相应的JSON信息,并把该文字的详细说明在该层显示出来。 由于同一页面上有多个类似的文字,本人只建立了一个层,赋予一个ID。让它根据鼠标所在的文字的不同,自动读取不同的信息,并显示在相应文字的位置上。而当鼠标移开,浮动层自动消失。众所周知,直接 .css(“display”, “inline”) 或者 .show 的效果是很突兀的。突然出现和突然消失的层很不美观。于是出现的代码改为 .fadeIn() 淡入,消失的代码则是 .fadeOut 淡出。 这时新的问题出现了,浮动层变得若隐若现,有的时候出现而有的时候不会。 学到的原因是:fadeOut 需要时间,有些时候鼠标在层还没有 fadeOut() 完成的时候就放在了另一段文字上面,这时 JQuery 就不会触发 fadeIn() 事件 学到的解决办法如下:把 fadeOut() 改成 fadeOut(500),既好看,淡出时间又不太长。如果文字之间的距离确实太紧密,可能就需要每次都新建立一个层,才不会导致冲突。