Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Плагин jQuery Timer запускается только один раз вместо каждых X секунд

Автор вопроса: Ben RogmansОтветов: 1

Я использую jQuery и плагин jQuery Timers: http://plugins.jquery.com/files/jquery.timers-1.2.js.txt

Что я хочу сделать, так это отправлять данные в php-скрипт каждые 3 секунды. Скрипт проверяет, есть ли новые сообщения, и если есть, возвращает их. У меня проблема с таймером. Прямо сейчас он запускает функцию только один раз, через три секунды. После того, как он запустился один раз, он больше не запускается.

$(function() {
$('.check').everyTime(3000, function() {

var ID = $(this).attr("id");
    if(ID) {
        $("#check"+ID).html('<img src="img/loader.gif" />');
    $.ajax({
        type: "POST",
        url: "<?php echo $base;?>ajax_check_new.php",
        data: "latestmsg="+ ID,
        cache: false,

        success: function(html){
            $("ol#msg").prepend(html);
            $("#check"+ID).remove();
        }
    });
}

  });
});

Какие-либо предложения?

Заранее спасибо!!

  • enfranchisedmind.com/blog/posts/ Luca Filosofi 25.03.2011

timerjquery

Ответы

Ответ 1 · рейтинг 1 · mattsven

Есть ли причина, по которой вы используете для этого таймеры jQuery вместо setInterval?

ИЗМЕНИТЬ:

$(function() {
    setInterval(function() {
        var ID = $('.check').attr("id");
            if(ID) {
                $("#check"+ID).html('<img src="img/loader.gif" />');
                $.ajax({
                    type: "POST",
                    url: "<?php echo $base;?>ajax_check_new.php",
                    data: "latestmsg="+ ID,
                    cache: false,

                    success: function(html){
                        $("ol#msg").prepend(html);
                        $("#check"+ID).remove();
                    }
                });
            }
    }, 3000);
});

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы