同时淡化多个元素 - jquery

时间:2011-08-05 06:55:09

标签: jquery fade

我想做以下事情:

$(newPanel, prevBtn, nextBtn, infoPanel).fadeIn(200, function() {
}

这些变量是用jquery

创建的div

但只有第一个元素消失,我真的需要所有元素同时淡入。

4 个答案:

答案 0 :(得分:25)

您可以使用add方法获取同一jQuery对象中的元素:

newPanel.add(prevBtn).add(nextBtn).add(infoPanel).fadeIn(200);

答案 1 :(得分:1)

假设newPanel等是这样创建的变量:

newPanel = $("#newPanel");

只写:

newPanel.fadeIn(200);
prevBtn.fadeIn(200);
nextBtn.fadeIn(200);
infoPanel.fadeIn(200);

答案 2 :(得分:0)

$.each([newPanel, prevBtn, nextBtn, infoPanel], function(i, el) {
    $(el).fadeIn(200);
});  

<强>更新
如果你只想调用一次这个函数,你可以通过将元素添加到同一个jQuery集合中来做一些事情like @Guffa did,然后才应用动画(一次):

[newPanel, prevBtn, nextBtn, infoPanel]
    .reduce(function(el, next) {
        return el.add(next);
    })
    .fadeIn(200);

答案 3 :(得分:0)

要么使用$.each来电,要么我建议您按类或ID对它们进行分组,并使用它进行淡化。

例如,您可以对类中的所有相关元素进行分组,然后对这些类进行$.each调用,而不是每个元素。