Avatar billede j-roar-h Nybegynder
26. februar 2013 - 11:07 Der er 28 kommentarer og
1 løsning

Countdown

Hej,

Jeg har et spørgsmål angående nedtælling af en countdown.

Jeg har følgende kode:

<script type="text/javascript">
$(document).ready(function() {

   
    $("#time").countdown({
        date: "marts 15, 2013",
       
       
        //htmlTemplate: "%{h} <span class=\"cd-time\">hours</span> %{m} <span class=\"cd-time\">mins</span> %{s} <span class=\"cd-time\">sec</span>",
        offset: 1,
        onChange: function( event, timer ){
       


        },
        onComplete: function( event ){
       
            $(this).html("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0");
        },
        onPause: function( event, timer ){

            $(this).html("Pause");
        },
        onResume: function( event ){
       
            $(this).html("Resumed");
        },
        leadingZero: true
    });

});
</script>

Den gør pt det at den stopper nedtællingen når dagen starter kl. 00.00. Kan man få den til at tælle ned til et specielt tidspunkt. fx 14.00?
Avatar billede jakobdo Ekspert
26. februar 2013 - 12:10 #1
Avatar billede j-roar-h Nybegynder
26. februar 2013 - 19:10 #2
nej, det er lavet klar det hele, det er kun at få sat tid på der er nødvendig. Ikke at lave en helt ny hvis det kan undgås.
Avatar billede olebole Juniormester
26. februar 2013 - 20:07 #3
<ole>

Det er der ingen, der kan svare på, da vi jo ikke aner, hvad du bruger af kode.

I øvrigt bør du nok forholde dig til dine åbne tråde  =)

/mvh
</bole>
Avatar billede j-roar-h Nybegynder
26. februar 2013 - 20:12 #4
Det er javascript. Jeg aner intet om javascript, så ved ikke hvilke kode du vil se?

Og åbne tråde er jeg heller ikke helt med på hvad du mener :)?
Avatar billede olebole Juniormester
26. februar 2013 - 20:33 #5
Klik på linket 'åbne tråde' i mit forrige indlæg, så burde du forstå  =)

Du må vel importere en eller anden plugin til jQuery, som implementerer countdown(?)
Avatar billede chriz7913 Nybegynder
26. februar 2013 - 23:05 #6
Du bruger jo et jQuery-library ved navn 'Countdown', for at kunne opnå den nedtællings-effekt du har i øjeblikket.

Hvor har du fundet det henne? De må jo have noget dokumentation hvor de beskriver de forskellige funktioner? :)
Avatar billede j-roar-h Nybegynder
27. februar 2013 - 13:17 #7
Jeg har denne kode i den .js fil jeg linker til:

/*
* jCountdown 1.3 jQuery Plugin
* Copyright 2011 Tom Ellis http://www.webmuse.co.uk
* Licensed under MIT License
* See http://www.webmuse.co.uk/license/
*/
(function ($) {

    $.fn.countdown = function( method /*,options*/ ) { 
   
        var defaults = {
                date: (new Date()),
                updateTime: 1000,
                htmlTemplate: "%{d} <span class=\"cd-time\">days</span> %{h} <span class=\"cd-time\">hours</span> %{m} <span class=\"cd-time\">mins</span> %{s} <span class=\"cd-time\">sec</span>",
                minus: false,
                onChange: null,
                onComplete: null,
                onResume: null,
                onPause: null,
                leadingZero: false,
                offset: null,
                direction: 'down'
            },
            slice = [].slice,
            floor = Math.floor,
            msPerHour = 36E5,
            msPerDay = 864E5,
            rDate = /(%\{d\}|%\{h\}|%\{m\}|%\{s\})/g,
            rDays = /%\{d\}/,
            rHours = /%\{h\}/,
            rMins = /%\{m\}/,
            rSecs = /%\{s\}/,
            getTimezoneDate = function( offset ) {
           
                var hoursOffset = offset || 0,
                    currentHours = 0,
                    tempDate = new Date(),
                    dateMS;
               
                hoursOffset = hoursOffset * msPerHour;
                currentHours = tempDate.getTime() - ( ( -tempDate.getTimezoneOffset() / 60 ) * msPerHour );
                dateMS = tempDate.setTime( currentHours + hoursOffset );
               
                return (new Date( dateMS ));
            },           
            timerFunc = function() {

                var $this = this,
                    template,
                    todaysDate,
                    countdownDate,
                    timeLeft,
                    e_daysLeft,
                    daysLeft,
                    e_hrsLeft,
                    hrsLeft,
                    minsLeft,                   
                    e_minsleft,
                    secLeft,
                    time = "",
                    settings = $this.data('jcdSettings');
                   
                if( !settings ) {
                    return;
                }
               
                template = settings.htmlTemplate;
               
                todaysDate = ( settings.offset === null ) ? new Date() : getTimezoneDate( settings.offset );
                   
                countdownDate = new Date( settings.date );
               
                timeLeft = ( settings.direction === 'down' ) ? countdownDate.getTime() - todaysDate.getTime() :
                    todaysDate.getTime() - countdownDate.getTime();
                   
                e_daysLeft = timeLeft / msPerDay;
                daysLeft = floor( e_daysLeft );
                e_hrsLeft = ( e_daysLeft - daysLeft ) * 24;
                hrsLeft = floor( e_hrsLeft );
                minsLeft = floor( ( e_hrsLeft - hrsLeft ) * 60 );               
                e_minsleft = ( e_hrsLeft - hrsLeft ) * 60;
                secLeft = floor( (e_minsleft - minsLeft ) * 60 );
               
                if ( settings.leadingZero ) {
               
                    if ( daysLeft < 10 ) {
                        daysLeft = "0" + daysLeft;
                    }
                   
                    if ( hrsLeft < 10 ) {
                        hrsLeft = "0" + hrsLeft;
                    }
                   
                    if ( minsLeft < 10 ) {
                        minsLeft = "0" + minsLeft;
                    }
                   
                    if ( secLeft < 10 ) {
                        secLeft = "0" + secLeft;
                    }
                }

                if ( settings.direction === 'down' && ( todaysDate <= countdownDate || settings.minus ) ) {
                    time = template.replace( rDays, daysLeft ).replace( rHours, hrsLeft ).replace( rMins, minsLeft ).replace( rSecs, secLeft );
                } else if ( settings.direction === 'up' && ( countdownDate <= todaysDate || settings.minus ) ) {
                    time = template.replace( rDays, daysLeft ).replace( rHours, hrsLeft ).replace( rMins, minsLeft ).replace( rSecs, secLeft );
                } else {
                    time = template.replace( rDate, "00");
                    settings.hasCompleted = true;
                }
                               
                $this.html( time );
               
                $this.trigger('change', [settings] );
               
                if ( settings.hasCompleted ){

                    $this.trigger('complete.jcountdown');
                    window.clearInterval( settings.timer );
                }
            },           
            methods = {
           
                init: function( options ){
                   
                    var opts = $.extend( {}, defaults, options ),
                        template;
                   
                    template = opts.htmlTemplate;
                   
                    return this.each(function() {
                        var $this = $(this),
                            settings = {},
                            todaysDate = ( opts.offset === null ) ? new Date() : getTimezoneDate( opts.offset ),
                            countdownDate = new Date( opts.date ),
                            timeLeft = ( opts.direction === 'down' ) ? countdownDate.getTime() - todaysDate.getTime() :
                                todaysDate.getTime() - countdownDate.getTime(),
                            e_daysLeft = timeLeft / msPerDay,
                            daysLeft = floor(e_daysLeft),
                            e_hrsLeft = (e_daysLeft - daysLeft) * 24, //Gets remainder and * 24
                            hrsLeft = floor(e_hrsLeft),
                            minsLeft = floor((e_hrsLeft - hrsLeft)*60),                   
                            e_minsleft = (e_hrsLeft - hrsLeft)*60, //Gets remainder and * 60
                            secLeft = floor((e_minsleft - minsLeft)*60),
                            time = "",
                            func;

                        if( opts.onChange ){
                            $this.bind("change.jcountdown", opts.onChange );
                        }
                       
                        if( opts.onComplete ){
                            $this.bind("complete.jcountdown", opts.onComplete );
                        }
                       
                        if( opts.onPause ){
                            $this.bind("pause.jcountdown", opts.onPause );
                        }

                        if( opts.onResume ){
                            $this.bind("resume.jcountdown", opts.onResume );
                        }
                       
                        if ( opts.leadingZero ) {
                       
                            if ( daysLeft < 10 ) {
                                daysLeft = "0" + daysLeft;
                            }
                           
                            if ( hrsLeft < 10 ) {
                                hrsLeft = "0" + hrsLeft;
                            }
                           
                            if ( minsLeft < 10 ) {
                                minsLeft = "0" + minsLeft;
                            }
                           
                            if ( secLeft < 10 ) {
                                secLeft = "0" + secLeft;
                            }
                        }
           
                        settings.hasCompleted = false;
                       
                        //Set initial time
                        if ( opts.direction === 'down' && ( todaysDate <= countdownDate || opts.minus ) ) {
                            time = template.replace( rDays, daysLeft ).replace( rHours, hrsLeft ).replace( rMins, minsLeft ).replace( rSecs, secLeft );
                        } else if ( opts.direction === 'up' && ( countdownDate <= todaysDate || opts.minus ) ) {
                            time = template.replace( rDays, daysLeft ).replace( rHours, hrsLeft ).replace( rMins, minsLeft ).replace( rSecs, secLeft );
                        } else {
                            time = template.replace( rDate, "00");
                            settings.hasCompleted = true;
                        }

                        //Store settings so they can be accessed later
                       
                        settings.originalContent = $(this).html();
                        settings.date = opts.date;
                        settings.leadingZero = opts.leadingZero;
                        settings.updateTime = opts.updateTime;
                        settings.direction = opts.direction;
                        settings.template = opts.htmlTemplate;
                        settings.htmlTemplate = opts.htmlTemplate;
                        settings.minus = opts.minus;
                        settings.offset = opts.offset;
                        settings.onChange = opts.onChange;
                        settings.onComplete = opts.onComplete;
                        settings.onResume = opts.onResume;
                        settings.onPause = opts.onPause;
                       
                        if( !settings.hasCompleted ) {
                            func = $.proxy( timerFunc, $this );
                            settings.timer = window.setInterval( func, settings.updateTime );
                        }
                       
                        $this.data( 'jcdSettings', settings );
                       
                        $this.html( time );
                       
                        if ( settings.hasCompleted ) {
                       
                            $this.trigger('complete.jcountdown');
                            window.clearInterval( settings.timer );
                        }
                       
                    });               
               
                },
                changeSettings: function( options ) {

                    //Like resume but with resetting/changing options
                   
                    return this.each(function() {
                        var $this  = $(this),
                            settings,
                            template,
                            todaysDate,
                            countdownDate,
                            timeLeft,
                            e_daysLeft,
                            daysLeft,
                            e_hrsLeft,
                            hrsLeft,
                            minsLeft,                   
                            e_minsleft,
                            secLeft,
                            time = "",
                            func;
                           
                        if( !$this.data('jcdSettings') ) {
                            return true;
                        }
                       
                        settings = $.extend( {}, $this.data('jcdSettings'), options );
                       
                        template = settings.htmlTemplate;

                        todaysDate = ( settings.offset === null ) ? new Date() : getTimezoneDate( settings.offset );
                        countdownDate = new Date( settings.date );                       
                        timeLeft = ( settings.direction === 'down' ) ? countdownDate.getTime() - todaysDate.getTime() :
                            todaysDate.getTime() - countdownDate.getTime();
                        e_daysLeft = timeLeft / msPerDay;
                        daysLeft = floor( e_daysLeft );
                        e_hrsLeft = ( e_daysLeft - daysLeft ) * 24; //Gets remainder and * 24
                        hrsLeft = floor( e_hrsLeft );
                        minsLeft = floor( ( e_hrsLeft - hrsLeft ) * 60 );                   
                        e_minsleft = ( e_hrsLeft - hrsLeft ) * 60; //Gets remainder and * 60
                        secLeft = floor( ( e_minsleft - minsLeft ) * 60);
                       
                        $this.unbind('.jcountdown');
                       
                        window.clearInterval( settings.timer );
                       
                        if( settings.onChange ) {
                            $this.bind('change.jcountdown', settings.onChange);
                        }

                        if( settings.onComplete ) {
                            $this.bind('complete.jcountdown', settings.onComplete);
                        }
                       
                        if( settings.onPause ){
                            $this.bind("pause.jcountdown", settings.onPause );
                        }

                        if( settings.onResume ){
                            $this.bind("resume.jcountdown", settings.onResume );
                        }
                       
                        if ( settings.direction === 'down' && ( todaysDate <= countdownDate || settings.minus ) ) {
                            time = template.replace( rDays, daysLeft ).replace( rHours, hrsLeft ).replace( rMins, minsLeft ).replace( rSecs, secLeft );
                        } else if ( settings.direction === 'up' && ( countdownDate <= todaysDate || settings.minus ) ) {
                            time = template.replace( rDays, daysLeft ).replace( rHours, hrsLeft ).replace( rMins, minsLeft ).replace( rSecs, secLeft );
                        } else {
                            time = template.replace( rDate, "00");
                            settings.hasCompleted = true;
                        }

                        func = $.proxy( timerFunc, $this );

                        settings.timer =  window.setInterval( func, settings.updateTime );
                       
                        $this.data('jcdSettings', settings);
                       
                        if ( settings.hasCompleted ) {
                            $this.trigger('complete.jcountdown');
                            window.clearInterval( settings.timer );
                        }
                                                       
                    });               
               
                },
                resume: function() {
               
                    return this.each(function() {
                        var $this = $(this),
                            settings,
                            template,
                            func,
                            todaysDate,
                            countdownDate,
                            timeLeft,
                            e_daysLeft,
                            daysLeft,
                            e_hrsLeft,
                            hrsLeft,
                            minsLeft,                   
                            e_minsleft,
                            secLeft,
                            time = "";
                           
                        settings = $this.data('jcdSettings');
                       
                        if( !settings ){
                            return true;
                        }
                       
                        func = $.proxy( timerFunc, $this );
                       
                        template = settings.htmlTemplate;

                        todaysDate = ( settings.offset === null ) ? new Date() : getTimezoneDate( settings.offset );
                        countdownDate = new Date( settings.date );                       
                        timeLeft = ( settings.direction === 'down' ) ? countdownDate.getTime() - todaysDate.getTime() :
                            todaysDate.getTime() - countdownDate.getTime();
                        e_daysLeft = timeLeft / msPerDay;
                        daysLeft = floor( e_daysLeft );
                        e_hrsLeft = ( e_daysLeft - daysLeft ) * 24;
                        hrsLeft = floor( e_hrsLeft );
                        minsLeft = floor( ( e_hrsLeft - hrsLeft ) * 60 );                   
                        e_minsleft = ( e_hrsLeft - hrsLeft ) * 60;
                        secLeft = floor( ( e_minsleft - minsLeft ) * 60 );

                        if ( settings.direction === 'down' && ( todaysDate <= countdownDate || settings.minus ) ) {
                            time = template.replace( rDays, daysLeft ).replace( rHours, hrsLeft ).replace( rMins, minsLeft ).replace( rSecs, secLeft );
                        } else if ( settings.direction === 'up' && ( countdownDate <= todaysDate || settings.minus ) ) {
                            time = template.replace( rDays, daysLeft ).replace( rHours, hrsLeft ).replace( rMins, minsLeft ).replace( rSecs, secLeft );
                        } else {
                            time = template.replace( rDate, "00" );
                            settings.hasCompleted = true;
                        }
                       
                        settings.timer =  window.setInterval( func, settings.updateTime );
                       
                        $this.data('jcdSettings', settings);
                       
                        $this.trigger('resume.jcountdown');
                       
                        $this.html( time ).trigger('change.jcountdown');
                       
                        if ( settings.hasCompleted ) {
                       
                            $this.trigger('complete.jcountdown');
                            window.clearInterval( settings.timer );
                        }   
                    });
                },
                pause: function() {
               
                    return this.each(function() {
                        var $this = $(this),
                            settings = $.data( $this[0], 'jcdSettings' );

                        if( !settings ){
                            return true;
                        }
                       
                        $this.trigger('pause.jcountdown');   
                        window.clearInterval( settings.timer );
                    });
                },
                complete: function() {

                    return this.each(function() {
                        var $this = $(this),
                            settings = $this.data('jcdSettings' );

                        if( !settings ){
                            return true;
                        }                       
                       
                        window.clearInterval( settings.timer );
                        settings.hasCompleted = true;
                       
                        $this.data('jcdSettings', settings);                       
                        $this.trigger('complete.jcountdown');
                    });       
                },
                destroy: function(){
               
                    return this.each(function() {
                        var $this = $(this),
                            settings;
                       
                        settings = $this.data( 'jcdSettings' );
                       
                        if( !settings ){
                            return true;
                        }
                       
                        $this.unbind('.jcountdown');
                        $this.html( settings.originalContent );
                        $this.removeData('jcdSettings');
                    });
                },
                getSettings: function( name ){
               
                    var settings,
                        $this = $(this[0]);
                   
                    settings = $this.data( 'jcdSettings' );
                   
                    if( !settings ){
                        return undefined;
                    }
                   
                    if( name ) {
                       
                        if( settings[name] ) {
                            return settings[name];
                        }
                        return undefined;
                    }
                       
                    return settings;
                }
            };
       
        if( methods[method] ) {

            return methods[method].apply( this, slice.call( arguments, 1 ) );
       
        } else if( $.type( method ) === 'object' || !method ) {
       
            return methods.init.apply( this, arguments );
        } else {
           
            $.error('Method '+ method+' does not exist in the jCountdown Plugin');
        }
    };
     
})(jQuery);
Avatar billede olebole Juniormester
27. februar 2013 - 13:28 #8
- og hvor har du jCountdown 1.3 jQuery Plugin fra?
Avatar billede chriz7913 Nybegynder
27. februar 2013 - 13:49 #9
Jep, som du kan se i starten af den kode du lige har sat ind, står der et par links til den side han hoster sit Countdown projekt på.
http://www.webmuse.co.uk/category/projects/

Der er dokumentation omkring date-feltet, hvor du sætter datoen her:

date - Default: null
      (Must be a valid date string or Date object)


Altså skal det enten være en tekst hvor datoen står, eller et javascript Date-objekt.

-------------

Prøvede lige at lege lidt med det, og det ser ud til at de er ret large ang. hvordan datoen er defineret.

Prøvede både at skrive
date: "marts 15, 2013, 13:42",

og
date: new Date("2013-03-15, 13:42"),

hvor begge metoder virkede.

------------

TL;DR: Du skal bare ændre teksten til "marts 15, 2013, 16:20" med din ønskede tid, der hvor du skriver:

  $("#time").countdown({
        date: "marts 15, 2013",

        .............




//Vh
Avatar billede jakobdo Ekspert
27. februar 2013 - 13:48 #10
Prøv lige følgende:

Hop ind på siden:

https://github.com/tomgrohl/jQuery-plugins/tree/master/jcountdown

Gem index.html
Opret mapperne:
script og css
hent så filerne fra samme url:
https://github.com/tomgrohl/jQuery-plugins/tree/master/jcountdown

css/style.css
og scriptene i script mappen.

Det virker uden problemer her.
(har dog ikke testet scriptet med server_time, men det må også virke, når det andet gør)
Avatar billede olebole Juniormester
27. februar 2013 - 14:46 #11
@chriz7913: Nuvel, de links havde jeg naturligvis testet. Det ene kunne ikke vises, og det andet viste (og viser stadig):

webmuse.co.uk
This domain name has just been registered.

Jeg kan dog også se, at begge links virker nu  =)

Derudover tyder det voldsomt på, at du 'digter'  *o)

Der er der således ingen af eksemplerne på denne side brugbare p.gr.a. forkert syntaks.

Desuden tror jeg ikke på følgende:

Prøvede både at skrive
date: "marts 15, 2013, 13:42",
og
date: new Date("2013-03-15, 13:42"),
hvor begge metoder virkede.

Den første er ikke et validt datoformat - og den anden returnerer også en invalid dato.

Hvad er det, du har testet? Næppe det, du påstår  =)
Avatar billede olebole Juniormester
27. februar 2013 - 14:59 #12
@chriz7913: Desuden er det script, du linker til, ikke det, spørger bruger. Det er derimod det, jakobdo linker til i #8
Avatar billede jakobdo Ekspert
27. februar 2013 - 15:04 #13
Du roder rundt i numrene. #8 er dit eget indlæg. :o) #9 er der hvor jeg linker til jCountdown.
Avatar billede olebole Juniormester
27. februar 2013 - 15:06 #14
#12-13-14-stykker: Du har fuldstændig ret  *D
Avatar billede chriz7913 Nybegynder
27. februar 2013 - 16:13 #15
#14 haha ^^

#12 Prøvede også det link der ikke virkede som OP skrev i #7, så gik til hoveddomænet http://www.webmuse.co.uk/ og kiggede på siden 'projects'.

Ved godt at det står 'jCountdown UI - jQuery UI Widget' men da jeg kigge på eksemplerne, lignede det samme opbygning som den OP har skrevet, og da linket kom fra den kode som OP havde postet, tænkte jeg at de var bygget på samme grundlag.

-----

#11 Har testet det som OP har postet af kode, både hvor 'date' var new Date("2013-04-04, 13:30") og hvor det var en string "marts 15, 2013, 13:00" <-- altså samme format som OP har brugt, bare hvor der var tilføjet et tidspunkt.
Og de virkede begge to.

Har lagt et eksempel op her: http://citio.dk/timetest.html

(Og på forhånd undskyld til olebole for ikke at have tilføjet valide doctypes, head/body m.m. til mit eksempel-dokument, men skulle bare lige teste det hurtigt ;-)  )
Avatar billede olebole Juniormester
27. februar 2013 - 18:14 #16
Det er ikke mig, du skal undskylde overfor. Det er kun dig selv, du spænder ben for. Man kan intet teste i et invalidt dokument!

Nu betyder det ikke så meget, så længe den kode, du viser, ikke virker. Ingen af de datoer, du prøver med, er valide JavaScript-datoformater. Derfor virker de - uanset, hvad du måtte tro - ikke
Avatar billede olebole Juniormester
27. februar 2013 - 18:24 #17
- og da du tydeligvis ikke har helt styr på JavaScript og dets datoformater, tester du naturligvis bare:

<script type="text/javascript">
var date = new Date('2013-03-04, 12:10');
alert(date);
</script>

Du kan med andre ord skrive, hvad somhelst - og det vil virke på samme måde. Dine værdier bliver aldrig anvendt i scriptet, da de simpelthen ikke giver mening. I stedet bruges default-værdien:

var defaults = {
        date: (new Date()),

At "marts 15, 2013, 13:42" ikke giver for to øre mening, burde vel også være umiddelbart åbenlyst. Jeg kender i hvertfald ikke til et programmeringssprog - end ikke de to danksbyggede: C++ og PHP - som kender en måned, der hedder "marts". Derimod er der en hel del, som kender "march"  *o)
Avatar billede olebole Juniormester
27. februar 2013 - 18:32 #18
- og som Jakob og andre 'gamle' brugere ved, forpasser jeg sjældent en chance for at citere flg. kloge ord  =)

"Det, vi observerer, er ikke naturen i sig selv - men naturen, udsat for vores måde at spørge på."
- Werner Heisenberg
Avatar billede chriz7913 Nybegynder
27. februar 2013 - 19:38 #19
Kunne ikke forstå du skrev Derfor virker de - uanset, hvad du måtte tro - ikke, når de begge tydeligt virkede når jeg gik ind på mit link.
Samt når jeg prøvede din kode:

<script type="text/javascript">
var date = new Date('2013-03-04, 12:10');
alert(date);
</script>


fik jeg en fin lille popup, hvori der stod "Mon Mar 04 2013 12:10:00 GMT+0100 (Central Europe Standard Time)".


SÅ prøvede jeg i IE, og nu kan jeg godt se hvad du mener.
Chrome (jeg bruger normalt) ser ud til at godtage nogle formater som IE ikke gør.

Fandt bla. ud af at Chrome kun tager de første tre bogstaver i måneden og bruger dem. Du kan skrive

date: "marwQudwOisjn 13, 2013, 13:40",


og den vil stadig vide at det er marts vi snakker om. Det er selvfølgelig også derfor at den godtager ordet marts som en måned. Selvom det rigtig nok skulle været stavet March.

Og pga. Chromes fortolkelse af Javascript, fik jeg også korrekt output da jeg brugte

new Date('2013-03-04, 12:10'),


Ved ikke om det er et gammelt levn fra PHP (er lidt rusten på det område efterhånden), men mener at man der kunne bruge formatet 2013-03-04, 12:10 og få en dato ud af det, der.

-------------------------

Fik læst lidt op på det og en korrekt måde at skrive det på kan være

mar 13 2013 13:50

(testet både i Chrome OG IE)

Så til OP, hvis du skriver

  $("#time").countdown({
        date: "mar 15 2013 18:23",

        ....

så burde det virke.

------------------------
@olebole Det kan godt være jeg skød mig selv i foden der, ved at skrive for sjov at der ikke var nogen doctype m.m., hvis jeg havde angivet en doctype kunne det være jeg havde fået samme resultat som dig til at starte med =)
Avatar billede olebole Juniormester
27. februar 2013 - 22:21 #20
Nej, det har ikke noget med doctype at gøre. Det ser ud, som om Date ikke fungerer ifølge standarden i Chrome og Opera. I Firefox, IE og Safari fungerer det som forventet. Dette er efter standarden og bør virke i alle browsere:

var date = new Date("March 4, 2013 12:10");
alert(date);

date = new Date("Mar 4, 2013 12:10");
alert(date);

date = new Date(2013, 2, 4, 12, 10);
alert(date);

date = new Date(1362395400000);
alert(date);

Læg mærke til, at månederne er nul-indekseret i JS. Marts er altså måned nr. 2.

Sidste eksempel bruger et timestamp - som i øvrigt er en faktor 1.000 større end i PHP
Avatar billede j-roar-h Nybegynder
28. februar 2013 - 09:40 #21
Jeg har nu prøvet at indsætte

$("#time").countdown({
        date: "mar 15 2013 12:00",

Det ser ud til at virke i chrome, safari og firefox på mac. Jeg har ikke testet på pc, da jeg ikke har pc.

Jeg prøvede også at indsætte

$("#time").countdown({
date = new Date("Mar 4, 2013 12:10");
alert(date);

men der meldte den fejl i koden.

Så bare for at være helt sikker, er det så korrekt det jeg har gjort, selvom det se ud til at virke?
Avatar billede chriz7913 Nybegynder
28. februar 2013 - 12:41 #22
#20 Så blev man også lidt klogere i dag :-)

#21 olebole's kode var ikke ment til at skulle passe ind i dit script. Den viser bare nogle forskellige valide måder at udskrive datoen på. Så det giver mening at den melder fejl, hvis du bare prøver at copy-paste den ind i dit script.

Så hvis du bare bruger

date: "mar 15 2013 12:00",

så er du godt kørende.

(jeg sidder selv på pc og kan bekræfte det virker her)

PS. du kan sagtens bruge nogle af oleboles eksempler; du skal bare omskrive dem så der kommer til at stå
[pre]
date: new Date( dato-formatet ),
[pre]

istedet for
[pre]
date = new Date( dato-format );
alert(date);
[pre]
Avatar billede chriz7913 Nybegynder
28. februar 2013 - 12:43 #23
Vi prøver lige igen med nogle ordentlige pre-tags

PS. du kan sagtens bruge nogle af oleboles eksempler; du skal bare omskrive dem så der kommer til at stå

date: new Date( dato-formatet ),


istedet for

date = new Date( dato-format );
alert(date);
Avatar billede j-roar-h Nybegynder
28. februar 2013 - 13:00 #24
Jeg takker mange gange..

I har begge hjulpet mig, så hvem skal have point?

Jeg har også et andet spørgsmål, dog til et andet emne. Det omhandler paypal, er det noget i ved noget om?
Avatar billede olebole Juniormester
28. februar 2013 - 16:27 #25
Jeg bruger i hvertfald PayPal til at skille mig af med en god del af mine penge. Jeg har også sat et par PP-apps op, men har ikke den helt dybe erfaring med det. Det vil dog nok passe bedst i en ny tråd  =)

Hvad point angår, så samler jeg ikke - men tak for tilbudet. Det må være Jakob og chriz7913, der synger om kap i finalen  *D
Avatar billede j-roar-h Nybegynder
28. februar 2013 - 18:01 #26
Okay, jeg opretter en anden tråd og håber du kikker forbi ;)

Er der en af jer andre der vil have point?
Avatar billede chriz7913 Nybegynder
28. februar 2013 - 22:15 #27
@jakobdo og jeg kan vel deles :)
Avatar billede olebole Juniormester
28. februar 2013 - 22:22 #28
Jeg vil da håbe, I kan deles. Livet som siamesiske tvillinger skulle ikke være sjovt  *D
Avatar billede j-roar-h Nybegynder
01. marts 2013 - 09:31 #29
I får 15 hver :)

Det andet spørgsmål jeg har kan ses her: http://www.eksperten.dk/spm/977534
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester