webForumDet fria alternativet

detta script fungerar inte i firefox

JavaScriptur Javascript

7 svar · 608 visningar · startad av Fuze

Medlem sedan nov. 200428 inlägg
Frågan#1

Hejsan!
På våran sida så har vi ett javascript som räknar ner till ett speciellt datum.
detta fungerar fint i IE men inte i Firefox där det blir flera miljoner dagar kvar till nästa match när det egentligen bara ska vara 2 dagar. Jag vet att det finns kod som inte funkar på firefox men jag kan inte själv programmera Javascript.

Kan någon Vänlig själ Hjälpa mig med vad jag ska byta ut i denna koden för att få den att fungera?

<script>
function countdown_clock(year, month, day, hour, minute, format)
         {
         //I chose a div as the container for the timer, but
         //it can be an input tag inside a form, or anything
         //who's displayed content can be changed through
         //client-side scripting.
         html_code = '<div id="countdown"></div>';
         
         document.write(html_code);
         
         countdown(year, month, day, hour, minute, format);                
         }
         
function countdown(year, month, day, hour, minute, format)
         {
         Today = new Date();
         Todays_Year = Today.getYear() - 2000;
         Todays_Month = Today.getMonth() + 1;                  
         
         //Convert both today's date and the target date into miliseconds.                           
         Todays_Date = (new Date(Todays_Year, Todays_Month, Today.getDate(), 
                                 Today.getHours(), Today.getMinutes(), Today.getSeconds())).getTime();                                 
         Target_Date = (new Date(year, month, day, hour, minute, 00)).getTime();                  
         
         //Find their difference, and convert that into seconds.                  
         Time_Left = Math.round((Target_Date - Todays_Date) / 1000);
         
         if(Time_Left < 0)
            format = 2;
         switch(format)
               {
               case 0:
                    //The simplest way to display the time left.
                    document.all.countdown.innerHTML = Time_Left + ' sekunder';
                    break;
               case 1:
                    //More datailed.
                    days = Math.floor(Time_Left / (60 * 60 * 24));
                    Time_Left %= (60 * 60 * 24);
                    hours = Math.floor(Time_Left / (60 * 60));
                    Time_Left %= (60 * 60);
                    minutes = Math.floor(Time_Left / 60);
                    Time_Left %= 60;
                    seconds = Time_Left;
                    
                    dps = 'ar'; hps = 'ar'; mps = 'er'; sps = 'er';
                    //ps is short for plural suffix.
                    if(days == 1) dps ='';
                    if(hours == 1) hps ='e';
                    if(minutes == 1) mps ='';
                    if(seconds == 1) sps ='';
                    document.all.countdown.innerHTML = 'matchen börjar om ';
                    document.all.countdown.innerHTML += days + ' dag' + dps + ' ';
                    document.all.countdown.innerHTML += hours + ' timm' + hps + ' ';
                    document.all.countdown.innerHTML += minutes + ' minut' + mps + ' och ';
                    document.all.countdown.innerHTML += seconds + ' sekund' + sps;
                    break;
               case 2:
		  		    if(Todays_Date > Target_Date)
                    //COUNT UP.
					//Find their difference, and convert that into seconds.     
					Time_Left = Math.round((Todays_Date - Target_Date) / 1000);
                    //COUNT UP.
                    //More datailed.
                    days = Math.floor(Time_Left / (60 * 60 * 24));
                    Time_Left %= (60 * 60 * 24);
                    hours = Math.floor(Time_Left / (60 * 60));
                    Time_Left %= (60 * 60);
                    minutes = Math.floor(Time_Left / 60);
                    Time_Left %= 60;
                    seconds = Time_Left;
                    
                    dps = 'ar'; hps = 'ar'; mps = 'er'; sps = 'er';
                    //ps is short for plural suffix.
                    if(days == 1) dps ='';
                    if(hours == 1) hps ='e';
                    if(minutes == 1) mps ='';
                    if(seconds == 1) sps ='';
                    document.all.countdown.innerHTML = 'matchen startade för ';
                    document.all.countdown.innerHTML += days + ' dag' + dps + ' ';
                    document.all.countdown.innerHTML += hours + ' timm' + hps + ' ';
                    document.all.countdown.innerHTML += minutes + ' minut' + mps + ' och ';
                    document.all.countdown.innerHTML += seconds + ' sekund' + sps + ' sedan ';
					break;
                    //END OF COUNT UP.
               case 3:
                    //The simplest way to display the time left.
                    document.all.countdown.innerHTML = 'hemmalag - bortalag';
					Time_Left = 0;
                    break;
               default: 
                    document.all.countdown.innerHTML = Time_Left + ' sekunder';
               }
         //Recursive call, keeps the clock ticking.
         setTimeout('countdown(' + year + ',' + month + ',' + day + ',' + hour + ',' + minute + ',' + format + ');', 1000);
         }
</script>

MVH
FUZE

Medlem sedan juli 2000836 inlägg
#2

Prova detta:

<script>
function countdown_clock(year, month, day, hour, minute, format)
         {
         //I chose a div as the container for the timer, but
         //it can be an input tag inside a form, or anything
         //who's displayed content can be changed through
         //client-side scripting.
         html_code = '<div id="countdown">_</div>';
         
         document.write(html_code);
         
         countdown(year, month, day, hour, minute, format);                
         }
         
function countdown(year, month, day, hour, minute, format)
         {
         Today = new Date();
         Todays_Year = Today.getYear() - 2000;
         Todays_Month = Today.getMonth() + 1;                  
         
         //Convert both today's date and the target date into miliseconds.                           
         Todays_Date = (new Date(Todays_Year, Todays_Month, Today.getDate(), 
                                 Today.getHours(), Today.getMinutes(), Today.getSeconds())).getTime();                                 
         Target_Date = (new Date(year, month, day, hour, minute, 00)).getTime();                  
         
         //Find their difference, and convert that into seconds.                  
         Time_Left = Math.round((Target_Date - Todays_Date) / 1000);
         
         if(Time_Left < 0)
            format = 2;
         switch(format)
               {
               case 0:
                    //The simplest way to display the time left.
                    document.getElementById("countdown").innerHTML = Time_Left + ' sekunder';
                    break;
               case 1:
                    //More datailed.
                    days = Math.floor(Time_Left / (60 * 60 * 24));
                    Time_Left %= (60 * 60 * 24);
                    hours = Math.floor(Time_Left / (60 * 60));
                    Time_Left %= (60 * 60);
                    minutes = Math.floor(Time_Left / 60);
                    Time_Left %= 60;
                    seconds = Time_Left;
                    
                    dps = 'ar'; hps = 'ar'; mps = 'er'; sps = 'er';
                    //ps is short for plural suffix.
                    if(days == 1) dps ='';
                    if(hours == 1) hps ='e';
                    if(minutes == 1) mps ='';
                    if(seconds == 1) sps ='';
                    document.getElementById("countdown").innerHTML = 'matchen börjar om ';
                    document.getElementById("countdown").innerHTML += days + ' dag' + dps + ' ';
                    document.getElementById("countdown").innerHTML += hours + ' timm' + hps + ' ';
                    document.getElementById("countdown").innerHTML += minutes + ' minut' + mps + ' och ';
                    document.getElementById("countdown").innerHTML += seconds + ' sekund' + sps;
                    break;
               case 2:
		  		    if(Todays_Date > Target_Date)
                    //COUNT UP.
					//Find their difference, and convert that into seconds.     
					Time_Left = Math.round((Todays_Date - Target_Date) / 1000);
                    //COUNT UP.
                    //More datailed.
                    days = Math.floor(Time_Left / (60 * 60 * 24));
                    Time_Left %= (60 * 60 * 24);
                    hours = Math.floor(Time_Left / (60 * 60));
                    Time_Left %= (60 * 60);
                    minutes = Math.floor(Time_Left / 60);
                    Time_Left %= 60;
                    seconds = Time_Left;
                    
                    dps = 'ar'; hps = 'ar'; mps = 'er'; sps = 'er';
                    //ps is short for plural suffix.
                    if(days == 1) dps ='';
                    if(hours == 1) hps ='e';
                    if(minutes == 1) mps ='';
                    if(seconds == 1) sps ='';
                    document.getElementById("countdown").innerHTML = 'matchen startade för ';
                    document.getElementById("countdown").innerHTML += days + ' dag' + dps + ' ';
                    document.getElementById("countdown").innerHTML += hours + ' timm' + hps + ' ';
                    document.getElementById("countdown").innerHTML += minutes + ' minut' + mps + ' och ';
                    document.getElementById("countdown").innerHTML += seconds + ' sekund' + sps + ' sedan ';
					break;
                    //END OF COUNT UP.
               case 3:
                    //The simplest way to display the time left.
                    document.getElementById("countdown").innerHTML = 'hemmalag - bortalag';
					Time_Left = 0;
                    break;
               default: 
                    document.getElementById("countdown").innerHTML = Time_Left + ' sekunder';
               }
         //Recursive call, keeps the clock ticking.
         setTimeout('countdown(' + year + ',' + month + ',' + day + ',' + hour + ',' + minute + ',' + format + ');', 1000);
         }
</script>
Medlem sedan nov. 200428 inlägg
#3

TAck för hjälpen men tyvärr det fungerar forfarande inte.

Medlem sedan juli 2000836 inlägg
#4

Det fungerar för mig, kan du visa ett exempel där det inte fungerar?

Medlem sedan nov. 200428 inlägg
#5

javisst.
Gå in på https://www.kinnabs.tk

Medlem sedan juli 2000836 inlägg
#6

Ändra: Todays_Year = Today.getYear() - 2000; till: Todays_Year = Today.getFullYear() - 2000;

Medlem sedan nov. 200428 inlägg
#7

Nääää du... fortfarande inte =(
den står fortfarande på 1387925 dagar kvar.

Medlem sedan nov. 200428 inlägg
#8

JO du föresten! Nu fungerar den!
Den gjorde nog ingen korekt uppdatering av sidan sista gången.

Tack så mycke för Hjälpen!

140 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)