CountDown une classe en Javascript
Lundi, Octobre 13, 2008Dans l'après 3D Countdown with FIVe3D (voir aussi How I Did It: Rédiger un compte à rebours en Flash), a donné une classe pour créer un objet compte à rebours en Actionscript, voici une version similaire en Javascript:
- / **
- * Class CountDown
- *
- * @ Author Giovambattista Fazioli
- * @ Undolog.com Email@g.fazioli
- * @ Http://www.undolog.com Web
- *
- Dd * @ param (string) 'mois jour, année'
- *
- * /
- dd ) { fonction compte à rebours (DD) (
- / / Temps cible Init
- new Date ( dd ) ; var target = new Date (dd);
- = target. getTime ( ) ; ce targetTime. = cible. getTime ();
- / **
- * Compte à rebours Refresh
- * /
- = function ( ) { Cette actualisation. = function () (
- new Date ( ) ; var today = new Date ();
- today. getTime ( ) ; var = currentTime aujourd'hui. getTime ();
- / / Temps restant
- ( this . targetTime - currentTime ) ; cela. _leftMilliseconds = (this. targetTime - currentTime);
- Math. floor ( this ._leftMilliseconds / 1000 ) ; cela. _leftSeconds = Math. étage (this. _leftMilliseconds / 1000);
- Math. floor ( this ._leftSeconds / 60 ) ; cela. _leftMinutes = Math. étage (this. _leftSeconds / 60);
- Math. floor ( this ._leftMinutes / 60 ) ; cela. _leftHours = Math. étage (this. _leftMinutes / 60);
- / / Aucun module
- = Math. floor ( this ._leftHours / 24 ) ; cela. leftDays = Math. étage (this. _leftHours / 24);
- / / Pour imprimer
- = this ._leftMilliseconds % 1000 ; cela. leftMilliseconds = this. _leftMilliseconds% 1000;
- = this ._leftSeconds % 60 ; cela. leftSeconds = this. _leftSeconds% 60;
- = this ._leftMinutes % 60 ; cela. leftMinutes = this. _leftMinutes% 60;
- = this ._leftHours % 24 ; cela. leftHours = this. _leftHours% 24;
- )
- ( ) ; Cette actualisation. ();
- )
Exemple
- new countDown ( '1 1, 2009' ) ; var cd = nouveau compte à rebours ('1 1, 2009 ');
- / / Affiche combien de jours, heures, minutes, secondes et millisecondes à Janvier 2009
- cd. leftDays + "," + cd. leftHours + "," + cd. leftMinutes + "," + cd. leftSeconds + "," + cd. leftMilliseconds ) ; document. write (Cx leftDays + "" + CD. leftHours + "" + CD. leftMinutes + "" + CD. leftSeconds + "" + CD. leftMilliseconds);














Bonjour Giovambattista,
Je trouve très intéressant cette solution JavaScript, parce qu'elle est simple. Comme un amoureux du script, j'ai fait quelques changements à votre code que vous placez le texte suivant:
Fondamentalement ajoutant davantage de structure et représentées par la méthode de sortie, qui vous permet d'imprimer le compte à rebours avec le format souhaité par l'utilisateur (de façon très semblable se produit, comme en PHP).
Par exemple, si vous vouliez imprimer la date, heures, minutes, secondes et millisecondes manquants grâce à notre compte à rebours, nous pourrions procéder comme suit, chaque fois, sans aucun recours à l'appel du propriétés internes de notre classe:
La méthode de «rendre» prend enfin soin de la «normaliser» le format des nombres.
Un autre ajout intéressant serait d'une méthode "start", qui appelle la sortie périodiquement et ainsi tu ressembles à un véritable compte à rebours (Countdown qui peut être arrêtée que par leur mode "stop").
Richard Worthy
@ Richard Worthy: en fait une variante agréable, bravo! Surtout technique intéressante pour formater la sortie: ingénieuse et subtile! Dans la
output()méthodeoutput()aurait mis une limite aureturn(output)plutôt que d'undocument.write()... mais c'est un détail. Une minuterie avecstart()etstop()font tous vraiment complet. Félicitations et merci pour les suggestions intéressantes@ Giovambattista Fazioli:
Certes, je suis entré dans le
document.write()pour une notification rapide de l'essai, dans la version finale de production et unreturnest un mustRien, je suis heureux que l'échange de conseils techniques
Bientôt,
Richard Worthy
Mise à jour: Microsoft Internet Explorer 7, la date au format numérique, tapez
"3 5, 2008"qui produit des erreurs. Pour supprimer il suffit d'entrer le "mois" en utilisant 3 lettres en anglais: Jan, Feb, Mar, etc ...@ Giovambattista Fazioli:
Bonjour tout le monde.
J'ai trouvé ce script très intéressant.
Mon seul problème? Être un idiot avec le javascript de la difficulté à insérer dans une page web.
Le changement que j'ai fait le code a été mis "retour" au lieu de document.write, mais je ne me souviens pas, alors la page d'identification ne pas comprendre ce que j'utilise.
Pouvez-vous m'aider?
merci
bonjour