Еще новичок в JS и jQuery, и я считаю, что это простое решение проблемы, с которой я сталкиваюсь. У меня есть функция, которую я запускаю после того, как документ готов, эта функция исчезает в данных, затем исчезает, но когда она достигает конца этих результатов, ничего не появляется. Я просто хочу использовать эту функцию, чтобы эти результаты постоянно отображались. Я, наверное, сделал этот звук намного более запутанным, чем нужно, поэтому вот что у меня есть.
function shuffle(array) {
var currentIndex = array.length;
var temporaryValue;
var randomIndex;
while (0 !== currentIndex) {
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
var feedbackContainer = $(".feedback-container");
var feedbackMessage;
function getData(data) {
if (data.ok) {
var dataResults = shuffle(data.results);
for (var i = 0; i < dataResults.length; i++) {
feedbackMessage = dataResults[i].message;
if(feedbackMessage) {
var review = $("<p />").text(feedbackMessage);
feedbackContainer.append(review);
}
};
}
}
$(function(){
$('.feedback-container p').each(function(index) {
$(this).delay(7000*index).fadeIn(1000).delay(5000).fadeOut(1000);
});
})
Если я правильно понимаю вас (иногда я немного замешан на восприятии), есть несколько простых способов сделать цикл функций. У одного из них есть вызов функции в конце.
function foo() {
// Do a bunch of stuff
foo();
}
или даже лучше, используйте setInterval, чтобы вы могли запускать его столько раз, сколько необходимо.
var bar = setInterval(foo, 1000); //runs every second
clearInterval(bar); //when you want it to stop
Надеюсь, это поможет
Вы можете создать функцию цикла, которая вызывает вашу getData и рисует многократно. Поэтому скажите, что вы устанавливаетеInterval на эту функцию, называемую loop.
function loop() {
getData(); //So you know the data is up to date.
drawData(); //Your fadeIn/fadeOut script.
//And if necessary
clearData();
}
Это будет проходить через получение данных и их отображение. Это помогает?