Вы правильно используете функцию обратного вызова с .fadeIn()
, чтобы гарантировать, что слово не начнет исчезать до тех пор, пока оно не исчезнет. Однако вы не применили тот же принцип для итерации по глаголам. Ваша внешняя петля for
мгновенно порвет все глаголы, показывая каждый из них, а затем терпеливо ждет, пока не наступит время их скрыть (когда, конечно, к тому времени будет отображаться только самый последний глагол). 1003 *
Вы можете попробовать что-то вроде этого:
function showWord(selector, words, wordTime, i) {
if (words.length < i)
return;
var word = words[i];
$(selector).html(word).fadeIn(wordTime, function() {
$(selector).fadeOut(wordTime, function() {
showWord(selector, words, wordTime, i + 1);
});
});
}
showWord("#verb-content", data.verbs, verbTime, 0);