Javascript: plaatje gebonden aan tijd+bezoeken

Pagina: 1
Acties:

  • T-Junkie
  • Registratie: Juni 2001
  • Laatst online: 25-08 17:40

T-Junkie

user brain not connected...

Topicstarter
Ik moet voor een site een bepaald idee uitwerken.

Het idee is dat je een X aantal dagen achter elkaar terugkomt op een webpagina en dat er dan in die dagen elke dag een ander plaatje staat dus op de eerste keer dat je er komt heb j plaatje nummer 1 en de volgende keer plaatje 2. Maar pas na 24 uur na het bezoek van het eerste plaatje komt het tweede plaatje.

Ik heb zelf helaas heel weinig ervaring met javascript, ik snap wel dat je dit met behulp van cookies doet. :)

Wie wil mij helpen met het schrijven van het scriptje hiervoor. :)

(ik heb al gesearched bij op GOT en met Google, helaas kwamen die scriptjes niet
in de buurt wat ik had, ik heb er wel wat gevonden voor random images)

  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

I zou gewoon een script schrijven dat op basis van de dag een ander plaatje laat zien. Dan heb je hetzelfde effect (iig ongeveer) en het is een stuk makkelijker.
code:
1
2
3
4
datum = new Date();
dag = datum.getDate();

...

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Intentionally left blank


  • T-Junkie
  • Registratie: Juni 2001
  • Laatst online: 25-08 17:40

T-Junkie

user brain not connected...

Topicstarter
ja die had ik al gevonden maar staat nie precies op....
en ik ben nie zo erg handig met JS.
Kan het wel lezen en kleine veranderingen maken maar schrijven nog niet.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Als je begint met de primers en dan langzaam aan de tutorials door gaat nemen kan je na een paar avondjes al aardig scripten hoor! Is nog leuk en leerzaam ook.

Intentionally left blank


  • T-Junkie
  • Registratie: Juni 2001
  • Laatst online: 25-08 17:40

T-Junkie

user brain not connected...

Topicstarter
dat staat al in mn planning :)
heb alleen stageverslagen... enzovoorts
en dit moet eigenlijk morgen af... (i know... (stupid) )

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Op maandag 04 maart 2002 22:02 schreef Clay het volgende:
I zou gewoon een script schrijven dat op basis van de dag een ander plaatje laat zien. Dan heb je hetzelfde effect (iig ongeveer) en het is een stuk makkelijker.
code:
1
2
3
4
datum = new Date();
dag = datum.getDate();

...
Dan heb je in elk geval geen cookie nodig, dat klopt. Gewoon 31 plaatjes genummerd van 1 t/m 31, en aan de hand van de dag een plaatje laten zien.
Kan je ook aan de hand van de weekdag doen met 7 plaatjes dmv weekdag = datum.getDay();

Intentionally left blank


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Op maandag 04 maart 2002 22:26 schreef T-Junkie het volgende:
dat staat al in mn planning :)
heb alleen stageverslagen... enzovoorts
en dit moet eigenlijk morgen af... (i know... (stupid) )
Oooh, huiswerk! :o

Intentionally left blank


  • T-Junkie
  • Registratie: Juni 2001
  • Laatst online: 25-08 17:40

T-Junkie

user brain not connected...

Topicstarter
hey das n goeie....

ff kijken of ik wat scripts zo kan combineren...

  • T-Junkie
  • Registratie: Juni 2001
  • Laatst online: 25-08 17:40

T-Junkie

user brain not connected...

Topicstarter
Op maandag 04 maart 2002 22:28 schreef crisp het volgende:

[..]

Oooh, huiswerk! :o
o.a. probeer ook eens n keertje sinds tijden n sociaal leven op te bouwen maarja... :)
(moet morgen die site laten zien bij mn stagebedrijf)

zou iemand een begin van het script kunnen schrijven... please...

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 08:51

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

code:
1
2
<script language=javascript>
function geefPlaatjes(){

Hier is het begin :)

ik ben bezig

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

code:
1
2
3
4
5
6
7
8
9
10
datum = new Date();
dag = datum.getDate();

plaatje ="images/plaatje"+dag+".jpg";

// onload of na de img tag in <script>:
document.images["naam"].src = plaatje

// of ergens in je page:
document.write('<img src ... >');

valt toch wel mee?

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


  • T-Junkie
  • Registratie: Juni 2001
  • Laatst online: 25-08 17:40

T-Junkie

user brain not connected...

Topicstarter
ik snap de opbouw van het script alleen nu met het vertaalt worden naar dat script (en k ken nie javascript... :'( )

dag=is nummer=X
naam + nummer= bestandsnaam
= laat plaatje zien

denk k

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 08:51

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Op maandag 04 maart 2002 22:37 schreef T-Junkie het volgende:
ik snap de opbouw van het script alleen nu met het vertaalt worden naar dat script (en k ken nie javascript... :'( )

dag=is nummer=X
naam + nummer= bestandsnaam
= laat plaatje zien

denk k
ehh, nee. hoe kom je bij naam?

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • T-Junkie
  • Registratie: Juni 2001
  • Laatst online: 25-08 17:40

T-Junkie

user brain not connected...

Topicstarter
Op maandag 04 maart 2002 22:40 schreef Prammenhanger het volgende:

[..]

ehh, nee. hoe kom je bij naam?
euhmm gokje...?
sorry ben nu aan t stoomcursussen JS-en ...

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 08:51

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

code:
1
2
datum = new Date();
dag = datum.getDate();

getDate(); geeft de dag van de maand, van 0 tot 30.
code:
1
plaatje ="images/plaatje"+dag+".jpg";

Dit geeft als uitkomst "images/plaatje4.jpg", want het is "images/plaatje|hier var dag|.jpg";
code:
1
document.images["naam"].src = plaatje

aangeven dat de source van het plaatje met de naam "naam" var plaatje is
code:
1
document.write('<img src ... >');

dat spreekt toch wel voor zich.
dit hele script wel, maar goed :)

[edit]
Nuttige links:
http://irt.org/xref/Date.htm (JavaScript Date() )

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • T-Junkie
  • Registratie: Juni 2001
  • Laatst online: 25-08 17:40

T-Junkie

user brain not connected...

Topicstarter
ik ben bezig met hem inelkaar maken....
ff kijken of het mij lukt...

  • T-Junkie
  • Registratie: Juni 2001
  • Laatst online: 25-08 17:40

T-Junkie

user brain not connected...

Topicstarter
code:
1
2
3
4
5
6
7
<script language="JavaScript">
datum = new Date();
dag = datum.getDate();
plaatje ="images/plaatje"+dag+".jpg";
document.images["naam"].src = plaatje
document.write('<img src images/plaatje.jpg >');
</script>

?helaas werkt t nie... :(
sorry, ben n newbie jah....

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

**spoiler**
code:
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<html>
<head>
<title>Pictures</title>
<script language="JavaScript">
<!--

// all the different pictures; expand at will

var pictures = new Array();
pictures[0] = 'bloemetjes.gif';
pictures[1] = 'bijtjes.gif';
pictures[2] = 'boompjes.gif';
pictures[3] = 'huisjes.gif';
pictures[4] = 'atoombommetje.gif';


// general function to get elements from a string

function getelement(text, identifier) {

  identifier += '=';
  oleft = text.indexOf(identifier);

  while (oleft != -1 && text.substring(oleft - 1, oleft) != '&' && text.substring(oleft - 1, oleft) != '?') {

    oleft = text.indexOf(identifier, oleft + 1);

  }

  if (oleft != -1) {

    oright = text.indexOf('&', oleft + 1);

    if (oright == -1 || identifier == 'return=') {
    oright = text.length;
    }

    return text.substring(oleft + identifier.length, oright);

  } else {

    return 0;

  }

}


function getthepicture() {


  // initialize vars

  var pic = 0;
  var timestamp = 0;
  var interval = 86400000; // miliseconds in 24 hour
  var now = new Date();
  var curtimestamp = Number(now);


  // get cookie if any

  var cookie_name = "LASTVISIT";

  if (document.cookie) {

    var cookie = document.cookie.indexOf(cookie_name);

    if (cookie != -1) {

    oleft = (document.cookie.indexOf('=', cookie) + 1);
    oright = document.cookie.indexOf(';', cookie);
    if (oright == -1) {
      oright = document.cookie.length;
    }
    var cookie_contents = document.cookie.substring(oleft, oright);

    timestamp = parseInt(getelement(cookie_contents, 'timestamp'));
    pic = parseInt(getelement(cookie_contents, 'pic'));

    }

  }


  // compare timestamps, set new cookie if > interval

  if (curtimestamp - timestamp > interval) {

    timestamp = curtimestamp;
    if (pic++ >= pictures.length) pic = 0;

    document.cookie=cookie_name+'=?timestamp='+timestamp+'&pic='+pic+'; expires=Monday, 04-Apr-2010 05:00:00 GMT';
  
  }


  // set the right picture

  document.images['thepicture'].src = pictures[pic];

}

// -->
</script>
</head>
<body onLoad="getthepicture()">
[img]"spacer.gif">
</body>
</html[/img]

snappie? :)

Intentionally left blank


  • T-Junkie
  • Registratie: Juni 2001
  • Laatst online: 25-08 17:40

T-Junkie

user brain not connected...

Topicstarter
als die werkt dan hou ik van je :)


de verbeterde korte versie(die k nog nie werkend btw)
code:
1
2
3
4
5
6
7
8
<script language="JavaScript">
datum = new Date();
dag = datum.getDate();
plaatje ="images/plaatje"+dag+".jpg";
document.images["naam"].src = plaatje
document.write('[img]"images/plaatje.jpg">');

</script[/img]

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Op maandag 04 maart 2002 23:26 schreef T-Junkie het volgende:
als die werkt dan hou ik van je :)


de verbeterde korte versie(die k nog nie werkend btw)
code:
1
2
3
4
5
6
7
8
<script language="JavaScript">
datum = new Date();
dag = datum.getDate();
plaatje ="images/plaatje"+dag+".jpg";
document.images["naam"].src = plaatje
document.write('[img]"images/plaatje.jpg">');

</script[/img]
Och, is al bijna goed hoor, alleen de document.write moet dit worden:
code:
1
document.write('[img]"'+plaatje+'"[/img]');

en die document.images["naam"].src = plaatje kan je weglaten als je de code inline in de body laat schrijven...
;)

Intentionally left blank


  • T-Junkie
  • Registratie: Juni 2001
  • Laatst online: 25-08 17:40

T-Junkie

user brain not connected...

Topicstarter
t werkt nog nie helemaal...
maar k moe achter de internet computer vandaan dus...
alvast heel erg bedankt iedereen (crisp! :) ) voor de moeite..
en zodra ik een goed werkend script heb zal ik hem hier posten.
(btw: werkt dat eene lange script bij jou crisp?)

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Op maandag 04 maart 2002 23:45 schreef T-Junkie het volgende:
(btw: werkt dat eene lange script bij jou crisp?)
Wat denk je? Het makkelijkst is om even te testen met een kortere interval...

Intentionally left blank


  • T-Junkie
  • Registratie: Juni 2001
  • Laatst online: 25-08 17:40

T-Junkie

user brain not connected...

Topicstarter
nog heel erg bedankt crisp! hij werkt helemaal perfect!!
(zoals j al zei, ik had wat fouts gedaan...)

zodra de hele site online is geef ik nog n gilletje hier in het topic.
Pagina: 1