Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

Probleem met javascript

Pagina: 1
Acties:

  • JefSnare
  • Registratie: Augustus 2007
  • Laatst online: 09-11-2020
Mensen, ik heb een probleempje met een script (countdown teller), hieronder zie je even het gehele script:

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
var Temp2;
var timerID = null;
var timerRunning = false;
function arry() {
this.length = 12;
this[0] = 31;
this[1] = 28;
this[2] = 31;
this[3] = 30;
this[4] = 31;
this[5] = 30;
this[6] = 31;
this[7] = 31;
this[8] = 30;
this[9] = 31;
this[10] = 30;
this[11] = 31;
}
var date = new arry();

function stopclock() {
if(timerRunning)
clearTimeout(timerID);
timerRunning = false;
}

function startclock() {
stopclock();
showtime();
}

function showtime() {
now = new Date();
var CurMonth = now.getMonth();
var CurDate = now.getDate();
var CurYear = now.getFullYear();
now = null;
if (26 < CurDate) {
CurDate -= date[CurMonth]; CurMonth++;
}
if (10< CurMonth) {
CurMonth -= 12; CurYear++;
}

var Yearleft = 2008 - CurYear;
var Monthleft = 10 - CurMonth;
var Dateleft = 26 - CurDate;


document.dateform.b.value = Monthleft;
document.dateform.c.value = Dateleft;

timerID = setTimeout("showtime()",1000);
timerRunning = true;
}


Het probleem is dat ik te zien krijg: nog 0 jaar 1 maand en 8 dagen...dit klopt niet...
26 oktober is nog 0 maand en 8 dagen...
weet iemand waar de fout zit?

Uiteraard eerst gegoogled maar niet gevonden wat ik wou...

Twitter Flickr


  • Walance
  • Registratie: September 2005
  • Laatst online: 17:26

Walance

Hm.. wat zal ik hier schrijven

Dit komt omdat date.getMonth() een maandnummer van 0 t/m 11 terug geeft en niet 1 t/m 12 zoals je zou verwachten. Je kunt het dus oplossen door var CurDate = now.getDate() + 1 te doen.

//edit: Zie ook w3schools voor meer informatie.

//edit2: Ik vind dit wel een beetje raar eigenlijk, omdat ze dit bij de rest niet doen, date.getDate() begint bijvoorbeeld wel bij 1 met tellen, dus lijkt me dat ze hier niet echt consequent mee zijn...

[ Voor 50% gewijzigd door Walance op 18-10-2008 22:11 . Reden: Linkje toegevoegd ]


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 05-09 14:39

_Thanatos_

Ja, en kaal

Waarom doe je dit eigenlijk:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function arry() { 
this.length = 12; 
this[0] = 31; 
this[1] = 28; 
this[2] = 31; 
this[3] = 30; 
this[4] = 31; 
this[5] = 30; 
this[6] = 31; 
this[7] = 31; 
this[8] = 30; 
this[9] = 31; 
this[10] = 30; 
this[11] = 31; 
} 
var date = new arry();

Terwijl je gewoon dit kan doen:
JavaScript:
1
var date = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

:?

日本!🎌


  • André
  • Registratie: Maart 2002
  • Laatst online: 13-11 13:40

André

Analytics dude

En kun je niet beter gebruik maken van de getTime getallen om verschillen te berekenen en af te tellen? Lijkt me makkelijker dan de methode die je nu gebruikt.

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 24-09 20:59
André schreef op zaterdag 18 oktober 2008 @ 22:33:
En kun je niet beter gebruik maken van de getTime getallen om verschillen te berekenen en af te tellen? Lijkt me makkelijker dan de methode die je nu gebruikt.
Helemaal mee eens, er wordt ook geen rekening gehouden met schrikkeljaren op dit moment.

If I can't fix it, it ain't broken.


  • JefSnare
  • Registratie: Augustus 2007
  • Laatst online: 09-11-2020
Ik heb wat suggesties toegevoegd, en het probleem is nu alleen nog dat inderdaad de schrikkeljaren nog niet werken, ben ik nog mee bezig.

Ik heb het script zo gemaakt omdat ik nog niet expert ben met javascript, vindt het best lastig maar gelukkig staat op w3school erg veel :)

Allemaal bedankt voor de hulp ik kan weer verder!

Twitter Flickr


  • MueR
  • Registratie: Januari 2004
  • Laatst online: 21:39

MueR

Admin Devschuur® & Discord

is niet lief

JavaScript:
1
var date = new arry();

Het is Array(), niet arry()

Anyone who gets in between me and my morning coffee should be insecure.


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 21:49

TeeDee

CQB 241

Huh? TS kan zijn functie toch gewoon arry genoemd hebben?

Of het duidelijkheid verschaft is een tweede :D

[ Voor 30% gewijzigd door TeeDee op 20-10-2008 21:34 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

MueR schreef op maandag 20 oktober 2008 @ 20:54:
JavaScript:
1
var date = new arry();

Het is Array(), niet arry()
15 regels daarboven:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function arry() {
this.length = 12;
this[0] = 31;
this[1] = 28;
this[2] = 31;
this[3] = 30;
this[4] = 31;
this[5] = 30;
this[6] = 31;
this[7] = 31;
this[8] = 30;
this[9] = 31;
this[10] = 30;
this[11] = 31;
} 

Vreemd? Ja, maar volledig legitiem.
Pagina: 1