Javascript For Loop с setInterval делает анимацию JQuery слишком быстрой - PullRequest
0 голосов
/ 28 декабря 2011

У меня есть функция setInterval, которая вызывает цикл for, просматривая каждый текстовый элемент HTML на моей странице. Если есть обновление текста (проверено с помощью AJAX), текст html мигает с функцией flashfunction ().

$(document).ready(function() {
    setInterval("html_update(html_text)", 11000);   // influences flash time
});

Это прекрасно работает для проверки обновлений. Но если есть обновление, анимация срабатывает слишком быстро (примерно в 4 раза быстрее, чем вне цикла for)!

Вот код для проверки массива текстовых полей html, чтобы увидеть, есть ли обновление. Если есть обновление, окно будет мигать:

for (var i=0; i < id_array_len; i++) {
....some AJAX calls here...

if (httpRequest.ResponseText == 'update') {
$("#htmltext").css("background", color);
$("#htmltext").animate( { "opacity" : 0.4 }, 700, function() {
        $("#htmltext"+id).css("background", color);
        $("#meme"+id).animate( { "opacity" : 1 }, 300)
    });
}

Вне цикла for анимация jQuery работает с правильной скоростью. Внутри цикла for он мигает в 4 раза быстрее ...

Пожалуйста, помогите и спасибо !!

1 Ответ

1 голос
/ 28 декабря 2011

Меня немного смущает, что означает «слишком быстро», но я подозреваю, что вы хотите ввести задержку перед запуском анимации.Вы можете сделать это с помощью метода jQuery delay .

$('selector').delay(3000).animate({...});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...