我試圖寫一個功能,按順序淡出X元素,一旦完成運行另一個功能。功能在同一時間觸發
function fadeOut(pro){
$('.interactive ul li').each(function(i) {
$(this).find('a').delay(200*(i+1)).fadeOut(200,function(){
$('.opening-title').delay(500).fadeOut();
});
showTimeline(pro);
});
}
function showTimeline(pro){
$('.timeline-container').addClass('in-view');
console.log(pro);
}
由於某些原因'showTimeline()'在同一時間運行,我不明白爲什麼?
全部JS
$(document).ready(function() {
'use strict';
function init() {
function showPath(pro) {
fadeOut(pro);
}
function fadeOut(pro) {
$('.ul li').each(function(i) {
$(this).find('a').delay(1200 * (i + 1)).fadeOut(200, function() {
$('.title').delay(500).fadeOut();
});
});
showTimeline(pro);
}
function showTimeline(pro) {
$('.container').addClass('in-view');
console.log(pro);
}
$('.path').on('click', function() {
showPath($(this).attr('data-pro'));
});
} //end init
init();
}); //end doc ready
,因爲你是在一個循環中 – epascarello
調用它的延遲可能使用的setTimeout與200毫秒推遲淡出。這也會導致showTimeline(pro)首先運行,因爲延遲會將淡入淡出函數放入堆棧末尾。 – Shilly
showTimeline在每個循環中 – YounesM