Подтвердить что ты не робот

Как я могу запустить этот javascript каждую секунду?

Извините, что я abit от noob. Я просто хочу знать, как я запускаю этот javascript каждую секунду?

исходный код:

<script type="text/javascript">
$(function() {
    //More Button
    $('.more').live("click",function()  {
        var ID = $(this).attr("id");
        if(ID) {
            $("#more"+ID).html('<img src="moreajax.gif" />');

            $.ajax({
                type: "POST",
                url: "ajax_more.php",
                data: "lastmsg="+ ID, 
                cache: false,
                success: function(html){
                    $("ol#updates").prepend(html);
                    $("#more"+ID).remove();
                }
            });
        } else {
            $(".morebox").html('no posts to display');
        }

        return false;

    });
});

</script>
4b9b3361

Ответ 1

Используйте setInterval() для запуска фрагмента кода каждые x миллисекунд.

Вы можете обернуть код, который вы хотите запускать каждую секунду, в функции с именем runFunction.

Итак, это будет:

var t=setInterval(runFunction,1000);

И чтобы остановить его, вы можете запустить:

clearInterval(t);

Ответ 2

Используйте setInterval:

$(function(){
setInterval(oneSecondFunction, 1000);
});

function oneSecondFunction() {
// stuff you want to do every second
}

Здесь статья о разнице между setTimeout и setInterval. Оба предоставят необходимую вам функциональность, они просто потребуют разных реализаций.

Ответ 3

window.setTimeout(func,1000);

Это приведет к запуску func после 1000 миллисекунд. Поэтому в конце func вы можете снова вызвать window.setTimeout, чтобы перейти в цикл 1 сек. Вам просто нужно определить условие завершения.

Ссылка

Ответ 4

Вы можете использовать setInterval:

var timer = setInterval( myFunction, 1000);

Просто объявляйте свою функцию как myFunction или какое-то другое имя, а затем не привязывайте ее к $('.more') живому событию.

Ответ 5

Вы можете использовать setTimeout для запуска функции/команды один раз или setInterval для запуска функции/команды через определенные интервалы.

var a = setTimeout("alert('run just one time')",500);
var b = setInterval("alert('run each 3 seconds')",3000);

//To abort the interval you can use this:
clearInterval(b);

Ответ 6

Используйте setInterval (func, delay), чтобы запустить func каждые delay миллисекунды.

setTimeout() запускает вашу функцию один раз после delay миллисекунды - она ​​не запускает ее повторно. Общая стратегия заключается в том, чтобы запустить ваш код с помощью setTimeout и снова вызвать setTimeout в конце вашего кода.