Désolé, je suis un peu un noob. Je veux juste savoir comment j'obtiens ce javascript pour qu'il s'exécute chaque seconde?
code source:
<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>
Utilisez setInterval () pour exécuter un morceau de code toutes les x millisecondes.
Vous pouvez envelopper le code que vous voulez exécuter toutes les secondes dans une fonction appelée runFunction
.
Donc ce serait:
var t=setInterval(runFunction,1000);
Et pour l'arrêter, vous pouvez exécuter:
clearInterval(t);
Utilisez setInterval
:
$(function(){
setInterval(oneSecondFunction, 1000);
});
function oneSecondFunction() {
// stuff you want to do every second
}
Voici un article sur la différence entre setTimeout
et setInterval
. Les deux fourniront les fonctionnalités dont vous avez besoin, ils nécessitent simplement des implémentations différentes.
Vous pouvez utiliser setTimeout pour exécuter une fois la fonction/commande ou setInterval pour exécuter la fonction/commande à des intervalles spécifiés.
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);
Cela fonctionnera après 1000 millisecondes. Donc, à la fin de la fonction, vous pouvez à nouveau appeler window.setTimeout pour qu'il effectue une boucle de 1 seconde. Il vous suffit de définir une condition de fin.
Vous pouvez utiliser setInterval
:
var timer = setInterval( myFunction, 1000);
Déclarez simplement votre fonction sous myFunction ou sous un autre nom, puis ne la liez pas à l'événement en direct de $('.more')
.
Utilisez setInterval (func, delay) pour exécuter func
toutes les delay
millisecondes.
setTimeout()
exécute votre fonction une fois après delay
millisecondes - elle ne l'exécute pas à plusieurs reprises. Une stratégie courante consiste à exécuter votre code avec setTimeout et à appeler setTimeout à la fin de votre code.