решил эту проблему, вызвав функцию только тогда, когда все данные загружены.
мы установили settimeout для всехBoxes
ранее, что происходило из-за того, что наш код JavaScript занимал некоторое время для вставки вHTML и до того, как этот полный код выполнялся, и в то время в реальном времени не было никаких данных, которые нам были нужны, поэтому мы установили settimeout в 10 секунд, а затем все работало, потому что в течение этих 10 секунд все было загружено в DOM, и мы были готовы с полными данными,
вот полный код, который работает безупречно
jQuery(document).ready(function($) {
setTimeout(function () {
var allBoxes = $("div#qab_container").children("div");
transitionBox(null, allBoxes.first());
console.log(allBoxes);
}, 10000);
$("#qab_background1, #qab_background2, #qab_background3, #qab_background4, #qab_background5, #qab_background6").css({"height": $("#qab_background").innerHeight()});
});
function transitionBox(from, to) {
function next() {
var nextTo;
if (to.is(":last-child")) {
nextTo = to.closest("#qab_container").children("div").first();
} else {
nextTo = to.next();
}
to.fadeIn(500, function () {
setTimeout(function () {
transitionBox(to, nextTo);
var karreff=787786766;
console.log(karreff);
}, 20000);
});
}
if (from) {
from.fadeOut(500, next);
} else {
next();
}
}