A-Klasse-Countdown in Javascript

In der Post mit 3D CountDown FIVe3D (siehe auch wie ich es tat: Schreiben Sie einen Countdown für Flash ), wurde vorgeschlagen, ein Objekt der Klasse in Actionscript CountDown erstellen, hier ist eine ähnliche Version in JavaScript:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/ **
* Class CountDown
*
* @ Autor Giovambattista Fazioli
* @ @ Email g.fazioli undolog.com
* @ Web http://www.undolog.com
*
* @ Param dd (string) 'Monat Tag, Jahr'
*
* /
dd ) { Funktion countdown (dd) {
/ / Init Zielzeit
new Date ( dd ) ; var target = new Date (dd);
= target. getTime ( ) ; .. diese targetTime = target getTime ();

/ **
* Refresh-Countdown
* /
= function ( ) { diesem. refresh = function () {
new Date ( ) ; var today = new Date ();
today. getTime ( ) ; var today = currentTime getTime ().;
/ / Restzeit
( this . targetTime - currentTime ) ; . diese _leftMilliseconds = (this. targetTime - currentTime);
Math. floor ( this ._leftMilliseconds / 1000 ) ; .. diese _leftSeconds = Math floor (this. _leftMilliseconds / 1000);
Math. floor ( this ._leftSeconds / 60 ) ; .. diese _leftMinutes = Math floor (this. _leftSeconds / 60);
Math. floor ( this ._leftMinutes / 60 ) ; .. diese _leftHours = Math floor (this. _leftMinutes / 60);
/ / Kein Modul
= Math. floor ( this ._leftHours / 24 ) ; .. diese leftDays = Math floor (this. _leftHours / 24);
/ / Für die Druckausgabe
= this ._leftMilliseconds % 1000 ; . diese leftMilliseconds = this _leftMilliseconds% 1000.;
= this ._leftSeconds % 60 ; . diese leftSeconds = this _leftSeconds 60%.;
= this ._leftMinutes % 60 ; Diese leftMinutes = this _leftMinutes 60%..;
= this ._leftHours % 24 ; .. diese leftHours = this _leftHours 24%;
}
( ) ; . diese refresh ();
}

Beispiel

1
2
3
new countDown ( '1 1, 2009' ) ; var cd = new CountDown (1 '1, 2009 ');
/ / Zeigen Sie, wie viele Tage, Stunden, Minuten, Sekunden und Millisekunden bis 1. Januar 2009

5 Kommentare zu "A-Klasse-Countdown in Javascript"

  1. 14. Oktober 2008 Richard Worth :

    Hallo Giovambattista,
    Ich finde diese Lösung sehr attraktiv JavaScript, weil es einfach und leicht ist. Als Liebhaber von Scripting, habe ich einige Änderungen an Ihrem Code, den Sie folgende Stelle:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    dd ) { Funktion countdown (dd) {
    / / Init Zielzeit
    new Date ( dd ) ; var target = new Date (dd);
    = target. getTime ( ) ; .. diese targetTime = target getTime ();

    / **
    * Refresh-Countdown
    * /
    = function ( ) { diesem. refresh = function () {
    new Date ( ) ; var today = new Date ();
    today. getTime ( ) ; var today = currentTime getTime ().;
    / / Restzeit
    = this . targetTime - currentTime ; .. diese leftMilliseconds = this targetTime - currentTime;
    = Math. floor ( this . leftMilliseconds / 1000 ) ; .. diese leftSeconds = Math floor (this. leftMilliseconds / 1000);
    = Math. floor ( this . leftSeconds / 60 ) ; .. diese leftMinutes = Math floor (this. leftSeconds / 60);
    = Math. floor ( this . leftMinutes / 60 ) ; .. diese leftHours = Math floor (this. leftMinutes / 60);
    = Math. floor ( this . leftHours / 24 ) ; .. diese leftDays = Math floor (this. leftHours / 24);
    ( ) ; . diese render ();
    };

    = function ( ) { diesem. render = function () {
    = this . ms = this . leftMilliseconds % 1000 ; . diese leftMilliseconds = this ms = this leftMilliseconds% 1000..;
    = this . s = this . leftSeconds % 60 ; . diese leftSeconds = this s = dieser leftSeconds 60%..;
    = this . m = this . leftMinutes % 60 ; Diese leftMinutes = this m = dieser leftMinutes 60%...;
    = this . h = this . leftHours % 24 ; . diese leftHours = this h = dieser leftHours 24%..;
    = this . leftDays ; Diese d = dieser leftDays..;
    };

    = function ( _format ) { diesem. output = function (_format) {
    _format. split ( ' ' ) || 'dhms ms' , output = '' ; var format = _format split ('') | | 'dhms ms', output =''.;
    / / Alert (fn), kommentiert von = rückgängig =: D
    var t in format ) { for (var t-Format) {
    this [ format [ t ] ] ) output += this [ format [ t ] ] + ( ( t != format. length - 1 ) ? ', ' : '' ) ; if (dies [format [t]]) Ausgang + = this [format [t]] + ((t! = Format Länge -.? 1)',':'');
    }
    output ) ; Dokument zu schreiben (Ausgang).;
    };

    ( ) ; . diese refresh ();
    }

    Im Wesentlichen ist das Hinzufügen weiterer Körper durch die Output-Methode, mit der Sie den Countdown mit dem Format, das vom Benutzer gewünschte (in einer Art und Weise sehr ähnlich zu dem, was in PHP) print ermöglicht vertreten.
    Zum Beispiel, wenn Sie den Tag, Stunde, Minuten, Sekunden und Millisekunden fehlt durch unser Countdown ausdrucken wollten, könnten wir wie folgt vor, jedes Mal, ohne auf den Ruf des internen Eigenschaften unserer Klasse:

    1
    2
    new countDown ( '1 1, 2009' ) ; var cd = new CountDown (1 '1, 2009 ');
    'dhms ms' ) ; . cd-Ausgang ("dhms ms ');

    Die Methode "render" kümmert sich auch um die "Normalisierung" das Format der Zahlen.

    Eine weitere interessante Ergänzung könnte ein Weg sein, um "Start", das ruft die Ausgabe von Zeit zu Zeit wie ein echter Countdown (Countdown, die von der jeweiligen Methode "stop" gestoppt werden kann) zu suchen.

    Richard Worth

  2. 14. Oktober 2008 Giovambattista Fazioli :

    @ Richard Worth: eine wirklich schöne Version, bravo! Besonders interessante Technik, um das Ausgabeformat: genial und subtil! più che un document.write() … ma è un dettaglio. In der Methode output() würde ein Limit für die Put- return(output) mehr als ein document.write() ... aber es ist ein Detail. , renderebbe il tutto davvero completo. Ein Timer mit start() und stop() , machen es alle sehr komplett. Herzlichen Glückwunsch und vielen Dank für die interessante Anregungen :)

  3. 15. Oktober 2008 Richard Worth :

    @ Giovambattista Fazioli:

    più che un document.write() In der Methode output() wäre eine Grenze, die return(output) mehr als ein document.write()

    è d'obbligo Natürlich habe ich die Put document.write() zur sofortigen Bekanntgabe der Tests, die endgültige Serienversion eines return ist obligatorisch ;)

    Herzlichen Glückwunsch und vielen Dank für die interessante Anregungen :)

    Gern geschehen, ich war froh, dass der Austausch von technischer Beratung :)

    Bis bald,
    Richard Worth

  4. 20. November 2008 Giovambattista Fazioli :

    Update: Microsoft Internet Explorer 7 wird das Datum in numerischer Form, Typ "3 5, 2008" , produziert Fehler. So löschen Sie einfach die "Monat" in das Format 3 englische Buchstaben: Jan, Feb, Mar, etc ...

  5. 5. Oktober 2009 Paul:

    @ Giovambattista Fazioli:

    hallo alle.
    Ich fand das Drehbuch sehr interessant.
    Mein einziges Problem? Als ein Idiot ich schwer JavaScript in einer Webseite einzufügen.
    Die Umstellung auf den Code, den ich tun würde, wurde zur "Rückkehr" statt document.write aber ich kann mich nicht erinnern, dann wird die Seite id nicht verstehen, was ich benutze.
    Können Sie mir helfen?
    Dank
    Hallo

Hinterlasse einen Kommentar

XHTML TAG PERMIT: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERTION CODE:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL 


Stoppen SOPA