Мне не хватает фундаментального понимания управления потоком функций JavaScript ...
Я создал слайдшоу jquery. Шоу разбито на логические разделы, каждый раздел управляется функцией (позволяет легко добавлять разделы позже) ...
function myslideshow() {
section1();
section2();
section3();
}
В каждом разделе есть несколько функций, состоящих из операторов jquery, анимации, хронометража ... так что, может быть ...
function section1() {
firstPart();
setTimeout('secondPart()',5000);
setTimeout('thirdPart()',6000);
}
Теперь вот моя проблема ... Я хочу определить функции "firstPart (), secondPart (), thirdPart ()" внутри section1 (). Я хочу сделать это по разным причинам:
- Каждый раздел может логически иметь свои «части»
- Переносимость раздела
Так что я бы хотел сохранить раздел и все его соответствующие части внутри раздела.
Я не могу заставить его работать ... когда я определяю "части" внутри раздела, все функции запускаются одновременно.
так в идеале я бы хотел получить:
function section1() {
firstPart();
setTimeout('secondPart()',5000);
setTimeout('thirdPart()',6000);
function firstpart(){
//some code here
}
function secondPart(){
//some code here
}
function thirdPart(){
//some code here
}
}
Но опять же, это не работает должным образом; на самом деле это работает правильно, я просто не реализую это должным образом! Не уверен, нужно ли мне использовать обратные вызовы функций (даже не уверен, как настроить это «масштабируемым образом»).
Еще одна область для улучшения: setTimeouts используются для гарантии того, что secondPart запускается после firstPart ... интересно, есть ли лучшие способы "ждать" для выполнения предыдущей функции (с анимацией jquery).
Я ценю любое направление, которое вы можете предложить. Спасибо!