你如何编写jquery来逐渐淡出某种类型的所有项目

时间:2010-11-23 22:29:10

标签: jquery

所以...我知道如何淡化添加到dom中的项目(在这种情况下是成功/错误消息),但我现在这样做的方法是编写代码以淡出我需要的特定项目当它加载DOM时,还可以在通过AJAX添加项目时编写单独的fadeOut代码。

有更优雅的方式来处理这个问题吗? 我研究了使用.live()处理程序,但这需要将一个事件作为其参数之一传入(不好,因为我只是希望项目在设定的时间后淡出,无论如何)。

tldr;我正在尝试编写一段fadeOut项目的代码,无论它是用DOM加载还是添加到它(例如通过AJAX)。

3 个答案:

答案 0 :(得分:1)

使用livequery plugin

$(".fadeOut").livequery(function(){$(this).fadeOut()});

答案 1 :(得分:-1)

将div添加到dom时,为例如

指定一个类
<div ...class="your_usual_class fadeout_category other_classes"...>

所以现在所有属于fadeout_category的对象都可以通过命令轻松淡出

$( “fadeout_category。”)apply_fadeout;

答案 2 :(得分:-1)

对您的问题最“优雅”的解决方案不是使用.live,它会监听特定DOM节点的更改(总是使用选择器的上下文;回调可能会大大减慢复杂页面的速度)然后在假设满足选择器条件的情况下应用正常回调。

您可能希望将fadeOut包含在使项目首先出现的功能中。

namespace.showMessage = function(message) {
  $('<div class="message">').text(message).appendTo('body').fadeOut(function(){
    $(this).remove();
  });
}