我想做以下事情:
$(newPanel, prevBtn, nextBtn, infoPanel).fadeIn(200, function() {
}
这些变量是用jquery
创建的div但只有第一个元素消失,我真的需要所有元素同时淡入。
答案 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
调用,而不是每个元素。