Как я могу запустить этот 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>
Ответы
Ответ 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 в конце вашего кода.