Α κατηγορίας στην αντίστροφη Javascript

Δευτέρα 13 Οκτωβρίου, 2008

Στη μετά με 3D Αντίστροφη FIVe3D (βλέπε Πώς το έκανα: γράψουν μια αντίστροφη μέτρηση στο Flash), ήταν μια κλάση πρόταση για τη δημιουργία ενός αντικειμένου Αντίστροφη σε Actionscript, εδώ μια έκδοση της ανάλογης Javascript:

JavaScript:
  1. / **
  2. * Αντίστροφη Τάξης
  3. *
  4. * @ Συγγραφέας Giovambattista Fazioli
  5. * @ @ Email g.fazioli undolog.com
  6. * @ Web http://www.undolog.com
  7. *
  8. * @ Param dd (string) «ημέρα μήνας, έτος"
  9. *
  10. * /
  11. dd ) { Αντίστροφη λειτουργία (ηη) (
  12. / / Init στόχο χρόνο
  13. Date ( dd ) ; var target = νέα ημερομηνία (ηη)?
  14. = target. getTime ( ) ; αυτό. targetTime = στόχο. getTime ()?
  15. / **
  16. * Refresh αντίστροφη μέτρηση
  17. * /
  18. = function ( ) { αυτό. Ανανέωση = λειτουργία () (
  19. Date ( ) ; var σήμερα = νέα ημερομηνία ()?
  20. ( ) ; var = currentTime σήμερα. getTime ()?
  21. / / Ώρα αριστερά
  22. this . targetTime - currentTime ) ; αυτό. _leftMilliseconds = (this. targetTime - currentTime)?
  23. ( this ._leftMilliseconds / 1000 ) ; αυτό. _leftSeconds = Math. όροφος (this. _leftMilliseconds / 1000)?
  24. ( this ._leftSeconds / 60 ) ; αυτό. _leftMinutes = Math. όροφος (this. _leftSeconds / 60)?
  25. ( this ._leftMinutes / 60 ) ; αυτό. _leftHours = Math. όροφος (this. _leftMinutes / 60)?
  26. / / Δεν υπάρχει ενότητα
  27. = Math. floor ( this ._leftHours / 24 ) ; αυτό. leftDays = Math. όροφος (this. _leftHours / 24)?
  28. / / Για εκτύπωση
  29. = this ._leftMilliseconds % 1000 ; αυτό. leftMilliseconds = αυτό. _leftMilliseconds% 1000?
  30. = this ._leftSeconds % 60 ; αυτό. leftSeconds = αυτό. _leftSeconds% 60?
  31. = this ._leftMinutes % 60 ; αυτό. leftMinutes = αυτό. _leftMinutes% 60?
  32. = this ._leftHours % 24 ; αυτό. leftHours = αυτό. _leftHours% 24?
  33. )
  34. ( ) ; αυτό. Refresh ()?
  35. )

Παράδειγμα

JavaScript:
  1. countDown ( '1 1, 2009' ) ; var τόσο νέα αντίστροφη = ( «1 1, 2009»)?
  2. / / Δείτε πόσες ημέρες, ώρες, λεπτά, δευτερόλεπτα και χιλιοστά του στο πρώτο Ιανουάριος 2009
  3. cd. leftDays + "," + cd. leftHours + "," + cd. leftMinutes + "," + cd. leftSeconds + "," + cd. leftMilliseconds ) ; έγγραφο. γράψει (δηλαδή leftDays + "," + CD. leftHours + "," + CD. leftMinutes + "," + CD. leftSeconds + "," + CD. leftMilliseconds)?

Σχετικές Post

4 σχόλια: "Α κατηγορίας στην αντίστροφη Javascript"

  1. getAvatar 1,0 Τρίτη, 14 Οκτωβρίου 2008 στις 16:03
    Riccardo αξίζει δήλωσε:

    Giovambattista Γεια σου,
    Αυτό το βρίσκω πολύ ενδιαφέρον Javascript για λύση, επειδή είναι απλή και ελαφριά. Από αγάπη scripting, έκανα κάποιες αλλαγές για να τον κωδικό σας ότι μπορείτε διαθέσουν τα ακόλουθα:

      Αντίστροφη λειτουργία (ηη) ( 
          / / Init στόχο χρόνο 
          var target = νέα ημερομηνία (ηη)? 
          this.targetTime = target.getTime ()? 
    
          / ** 
           * Refresh αντίστροφη μέτρηση 
           * / 
          this.refresh = λειτουργία () ( 
              var σήμερα = νέα ημερομηνία ()? 
              var currentTime = today.getTime ()? 
              / / Ώρα αριστερά 
              this.leftMilliseconds = this.targetTime - currentTime? 
              this.leftSeconds = Math.floor (this.leftMilliseconds / 1000)? 
              this.leftMinutes = Math.floor (this.leftSeconds / 60)? 
              this.leftHours = Math.floor (this.leftMinutes / 60)? 
              this.leftDays = Math.floor (this.leftHours / 24)? 
              this.render ()? 
          )? 
    
          this.render = λειτουργία () ( 
              this.leftMilliseconds this.ms = this.leftMilliseconds% = 1.000? 
              this.leftSeconds = this.leftSeconds% this.s = 60? 
              this.leftMinutes = this.mate this.leftMinutes% = 60? 
              this.leftHours = this.leftHours% this.h = 24? 
              this.d = this.leftDays? 
          )? 
    
          this.output = λειτουργία (_format) ( 
              var = format _format.split ('') | | "dhms ms', παραγωγής =''? 
              / / Συναγερμός (FN)? Σχολίασε για την αναίρεση = = : D
              για την (σε μορφή var t) ( 
                  αν (αυτό [μορφή [τ]]) = αυτό το προϊόν + [μορφή [η]] + ((t! = format.length-1);',':''); 
              ) 
              document.write (output)? 
          )? 
    
          this.refresh ()? 
      ) 
    

    Ουσιαστικά πιο σημαντική προσθήκη είναι η μέθοδος παραγωγής, η οποία σας επιτρέπει να εκτυπώσετε την αντίστροφη με τη μορφή που επιθυμεί ο χρήστης (με έναν τρόπο που μοιάζει πολύ με ήθελε στην PHP).
    Για παράδειγμα, εάν θέλετε να εκτυπώσετε την ημερομηνία, ώρα, λεπτά, δευτερόλεπτα και χιλιοστά του λείπει μας μέσω αντίστροφης μέτρησης, θα μπορούσαμε να προχωρήσουμε ως εξής, κάθε φορά που υπενθυμίσει, χωρίς να καταφεύγουν οι εσωτερικές ιδιότητες της τάξης μας:

      var τόσο νέα αντίστροφη = ( «1 1, 2009»)? 
      cd.output ( «dhms ms')? 
    

    Η μέθοδος "καθιστούν" είναι τελικά "ομαλοποίηση" της μορφής των αριθμών.

    Μια άλλη ενδιαφέρουσα προσθήκη θα ήταν σε ένα «ξεκίνημα», η οποία ζητά τη μέθοδο παραγωγής, ώστε φαίνεται μια πραγματική αντίστροφη μέτρηση (Countdown θα σταματήσει με τη μέθοδο "stop").

    Riccardo άξιος

  2. getAvatar 1,0 Τρίτη, 14 Οκτωβρίου 2008 στις 22:27
    Giovambattista Fazioli δήλωσε:

    @ Richard αξίζει πραγματικά μια ωραία παραλλαγή, μπράβο! Ιδιαίτερα ενδιαφέρουσα τεχνική για την φορμάρετε το εξόδου: δαιμόνιος και λεπτή! Κατά τη μέθοδο output() θα θέσει ένα όριο στην return(output) document.write() ... αλλά είναι μια λεπτομέρεια. Ένα χρονόμετρο με το start() stop() ουσιαστικά ολοκληρωμένη. Συγχαρητήρια και ευχαριστίες για τις ενδιαφέρουσες προτάσεις :)

  3. getAvatar 1,0 Τετάρτη, 15η Οκτωβρίου, 2008 στις 12:45 μ.μ.
    Riccardo αξίζει δήλωσε:

    @ Giovambattista Fazioli:

    Η μέθοδος παραγωγής () θα θέσει ένα όριο στην απόδοση (παραγωγή) και όχι σε document.write ()

    Βέβαια, θα παρεμβάλλεται document.write για άμεση κοινοποίηση των δοκιμών, στην τελική παραγωγή return επιστροφής πρέπει να είναι ένα ?)

    Συγχαρητήρια και ευχαριστίες για τις ενδιαφέρουσες προτάσεις :)

    Από ό, τι δεν ήμουν ευχαριστημένος από αυτή την ανταλλαγή απόψεων :)

    Τα λέμε σύντομα,
    Riccardo άξιος

  4. getAvatar 1,0 Πέμπτη, 20 Νοεμβρίου 2008 22:31
    Giovambattista Fazioli δήλωσε:

    Update: Microsoft Internet Explorer 7, η ημερομηνία σε αριθμητική μορφή, είδος "3 5, 2008" σφάλμα. Για να διαγράψετε απλά εισάγετε το "μήνα", σύμφωνα με το υπόδειγμα 3 επιστολές στην αγγλική γλώσσα: Ιανουάριος, Φεβρουάριος, Μάρτιος, κτλ ...

Αφήστε ένα σχόλιο

TAG XHTML <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <a <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Χρησιμοποιήστε <pre> να επισυνάψουν κωδικός