Promiň, já jsem abit z noob chci jen vědět, jak jsem si tento javascript spustit každou sekundu?
zdrojový kód:
<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>
Použijte setInterval () pro spuštění kusu kódu každých x milisekund.
Kód, který chcete spustit, můžete zabalit každou sekundu ve funkci nazvané runFunction
.
Tak by to bylo:
var t=setInterval(runFunction,1000);
Chcete-li to zastavit, můžete spustit:
clearInterval(t);
Použít setInterval
:
$(function(){
setInterval(oneSecondFunction, 1000);
});
function oneSecondFunction() {
// stuff you want to do every second
}
Zde je článek o rozdílu mezi setTimeout
a setInterval
. Oba budou poskytovat funkce, které potřebujete, vyžadují pouze různé implementace.
Můžete použít setTimeout ke spuštění funkce/příkazu jednou nebo setInterval ke spuštění funkce/příkazu v určených intervalech.
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);
window.setTimeout(func,1000);
Po 1000 milisekundách se spustí func. Takže na konci func můžete zavolat window.setTimeout znovu a jít ve smyčce 1 sec. Stačí definovat podmínku ukončení.
Můžete použít setInterval
:
var timer = setInterval( myFunction, 1000);
Stačí deklarovat svou funkci jako funkci MyFunction nebo jiné jméno a pak ji nevázat na živou událost $('.more')
.
Použijte setInterval (func, delay) pro spuštění func
každého delay
milisekund.
setTimeout()
spustí vaši funkci jednou po delay
milisekundách - nespustí ji opakovaně. Společnou strategií je spustit kód pomocí setTimeout a zavolat setTimeout znovu na konci kódu.