Salut,
j'essaie de faire un compte à rebours, à la facon d'OGame, qui s'affiche en attendant la fin d'une action.
J'ai utilisé un script de l'ancien forum, que j'ai adapté, mais ca ne marche toujours pas...
Le voici, si vous savez ce qui peut clocher je suis preneur, car la fonction "reste" n'est ne se met pas en route, je ne sais pas pourquoi...
Voici mon script simplifié :
j'essaie de faire un compte à rebours, à la facon d'OGame, qui s'affiche en attendant la fin d'une action.
J'ai utilisé un script de l'ancien forum, que j'ai adapté, mais ca ne marche toujours pas...
Le voici, si vous savez ce qui peut clocher je suis preneur, car la fonction "reste" n'est ne se met pas en route, je ne sais pas pourquoi...
Voici mon script simplifié :
Code PHP :
<?php
<script>
function reste(cb){
var zetime = cb;
if (zetime > 0) {
var heures = Math.floor(zetime / 3600);
var minutes = Math.floor(((zetime / 3600) - Math.floor(zetime / 3600)) * 60);
var seconds = zetime - ((Math.floor(zetime / 60)) * 60);
document.getElementById("axion").innerHTML = heures + ':' + minutes + ':' + seconds;
var restant = (zetime - 1);
setTimeout("reste(" + restant + ");", 1000);
}
else {
document.getElementById("axion").innerHTML = "<a href='index.php?p=sit'>Situation</a>";
}
}
</script>
<?
$tr=60; // temps restant : on part sur 60secondes par ex.
echo '<div id="axion">?</div>';
echo '<script>reste('.$tr.');</script>';
?>
Ce script est donc sensé affiché toutes les secondes le temps restant, et arrivé à 0 il affiche un lien, dans le DIV "axion".
---
Pour les navigateurs "récents" on est pas obligé de mettre des guillemets autour de la fonction appelée dans SetTimeout.
Donc au lieu de
Code PHP :
<?php
setTimeout("reste(" + restant + ");", 1000);