2009-12-25 6 views
2

Comment je le ferai: Quand secondes sont 31 (exemple 11:57 31sec.) Font somthing, chaque minute. Utilisation de Javasriptsecondes viennent x, faire quelque chose

Merci d'avance.

+0

Je ne sais pas comment "écouter" les secondes je pense. – ilhan

+0

Puis-je vous demander pourquoi vous avez besoin d'un tel intervalle spécifique? – ChaosPandion

+0

Pour connaître le nombre de visiteurs en ligne à un moment précis. Comme le nombre de visiteurs à 1,11,21, ..., 51. – ilhan

Répondre

9

Lire l'heure actuelle, calculer le nombre de secondes jusqu'à la prochaine fois que les secondes sont ': 31', puis utiliser setTimeout avec le délai approprié. Vous pouvez utiliser quelque chose comme ceci:

var atSeconds = 31; 
var secondsLeft = atSeconds - new Date().getSeconds(); 
if (secondsLeft <= 0) secondsLeft += 60; 
setTimeout(foo, secondsLeft * 1000); 

Souvenez-vous de l'appeler à nouveau dans la fonction foo afin qu'il répète.

+0

D'une certaine façon, je vous doute seriez en mesure d'atteindre une telle précision avec JavaScript. Peut-être à la place – ChaosPandion

+0

setInterval, pour le faire à chaque minute. –

+0

je dois recommander le passage d'une chaîne à setTimeout. – ChaosPandion

2

Quelque chose comme ce sera probablement aussi proche que vous pouvez obtenir.

function initializeInterval() { 
    while (new Date().getSeconds() < 30); 
    setInterval(doWork, 60000); 
} 

function doWork() { 

} 
Questions connexes