Помогите разобраться где я допустил ошибку или может быть вообще все неправильно написал. Нужно чтобы получилась такая последовательность:
animateFour появлялся после animateThree с задержкой 2c
var massAnimate1 = function(cb) {
function animateOne (callback) {
document.write("First animation" + "</br>");
return callback;
}
function animateTwo() {
setTimeout(function () {
document.write("Second animation" + "</br>");
}, 2000);
}
animateOne(animateTwo());
return cb;
};
var massAnimate2 = function(val) {
setTimeout(function(cb){
function animateThree (callback) {
document.write("Three animation" + "</br>");
return callback;
}
function animateFour () {
setTimeout(function () {
document.write("Four animation"+ "</br>");
}, 1400);
}
animateThree(animateFour());
return cb;
}, 2000);
return val;
};
massAnimate1(massAnimate2());
Пример: fiddle
massAnimate2 возвращает свой аргумент val. Вызов massAnimate2 в massAnimate1(massAnimate2()); сделан без параметров, так что внутри massAnimate2 значение val - undefined. Таким образом, massAnimate1 вызывается с параметром undefined.
Но это не страшно :), так как внутри massAnimate1 аргумент cb нигде не используется, а только возвращается, а возвращаемое из massAnimate1 значение игнорируется.
Идем дальше...
Ситуация с massAnimate1(massAnimate2()); фрактально повторяется внутри massAnimate1 - animateOne(animateTwo()); (только animateTwo вообще ничего не возвращает).
В общем, весь код какой-то бессмысленный. А по поводу document.write: Пустая страница после document.write
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости