jquery 2淡出同时完成

时间:2010-04-16 09:49:49

标签: jquery this fade

只是另一个快速的:

我注意到与fadeOut的差异取决于是否为目标。这是我的结构。

我的页面上有数据行,每行有两个图标。一个是该行的更新图标,一个是该行的删除图标。当用户单击特定行的更新图标时,我希望更新和删除图标都消失。所以,为了淡化用户点击的东西(更新按钮)及其相应的删除按钮,我正在使用......

$(this).next().add(this).fadeOut('slow');

......哪个有效,但这两个元素不会同时褪色。 首先淡出(这是更新图标),然后 this.next 淡出(删除图标)。但是,如果我按名称指定两个元素......

$('#updS2, #delS2').fadeOut('slow');
然后他们一起褪色。它为什么不同?

为周五漫无目的道歉。

==== EDIT ====

还注意到使用andSelf的延迟:

$(this).next().andSelf().fadeOut('slow');

1 个答案:

答案 0 :(得分:2)

好的,我发现了问题所在。之前有一个fadeTo命令,它在同一个事件处理程序中对页面上的所有图标起作用。我将我的代码移动到了fadeTo的回调中,现在它可以工作了。应该先检查一下。我现在会爬回我的岩石下......

所以这是我正在使用的代码。我的所有图标都有一类“动作”。我希望将页面上的所有图标与用户点击的行上的图标区分开来 - 我希望这些图标完全消失,一起放在一个单元中。这有效。

$('.action').click(function() {
    var me = $(this);
    $('.action').not(this).fadeTo('slow', 0.2, function() {
        $(me).next().add(me).fadeOut('slow');
    }).unbind('click');
)};

我不得不使用我,因为如果我使用它,它会淡化所有图标而不仅仅是我想要的两个图标。可能是一个更好的方法,但我想我会尝试回答这个问题,即使答案是“我一开始就弄错了”。对不起:S