it-swarm-eu.dev

Jak dostanu tento javascript ke spuštění každou sekundu?

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>
32
user663049

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);
61
Mike Lewis

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.

6
Town

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);
2
Vismari
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í.

Reference

0
Nitin Midha

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').

0

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.

0
Stephen P