我要做到以下幾點:衰落多個元素simutaneously - jQuery的
$(newPanel, prevBtn, nextBtn, infoPanel).fadeIn(200, function() {
}
這些增值經銷商和jQuery創建的div
,但只有第一個元素淡入,我真的需要的所有元素淡入與此同時。任何想法?
我要做到以下幾點:衰落多個元素simutaneously - jQuery的
$(newPanel, prevBtn, nextBtn, infoPanel).fadeIn(200, function() {
}
這些增值經銷商和jQuery創建的div
,但只有第一個元素淡入,我真的需要的所有元素淡入與此同時。任何想法?
可以使用add
的方法得到相同的jQuery對象中的元素:
newPanel.add(prevBtn).add(nextBtn).add(infoPanel).fadeIn(200);
假設newPanel
等等都是這樣創建的變量:
newPanel = $("#newPanel");
只是寫:
newPanel.fadeIn(200);
prevBtn.fadeIn(200);
nextBtn.fadeIn(200);
infoPanel.fadeIn(200);
$.each([newPanel, prevBtn, nextBtn, infoPanel], function(i, el) {
$(el).fadeIn(200);
});
更新:
如果你想調用的函數只有一次,你可以通過添加元素來做點什麼like @Guffa did同樣的jQuery的收集,然後才申請動畫(一次):
[newPanel, prevBtn, nextBtn, infoPanel]
.reduce(function(el, next) {
return el.add(next);
})
.fadeIn(200);
這會不會是一樣的做他們一次一個? – 472084
它要麼使用$.each
做或者我會建議你將他們按類或ID分組,然後使用它們淡入淡出。
例如,您可以在組類中的所有相關的元素,然後做這些類,而不是每一個元素的$.each
電話。
啊,這很好。下次會嘗試。 – inquam
@Guffa我加了一個回調函數,回調函數執行了四次。這是正常的任何分組? – Wesley
@Wesley:由於jQuery對象中有四個元素,每個動畫都有自己的回調函數。從文檔:「如果多個元素是動畫的,重要的是要注意,回調是每個匹配元素執行一次,而不是整個動畫一次。」 http://api.jquery.com/fadeIn/ – Guffa