Per dag/tijdstip verschillende plaatje

Status
Niet open voor verdere reacties.

Heinikken

Gebruiker
Lid geworden
7 mei 2002
Berichten
309
Beste mede forummers,

Ik wil een scriptje hebben dat op de verschillende tijdstippen een ander plaatje laat zien.
Bijv. zaterdag tussen 14.00 en 18.00 plaatje 1, tussen 18.00 en 21.00 plaatje 2, enz. En dan op zondag tussen 14.00 en 18.00 plaatje 6, tussen 18.00-21.00 plaatje 7 enz.

Nu ben ik een Noob op javascript gebied, dus ik ben wat gaan googlen en wat bestaande scripts ik had gevonden aangepast en samengoevoegd tot het volgende:
Code:
day=new Date()     //..get the date
y=day.getDay()		 //..get the day
x=day.getHours()    //..get the hour

if(y=1 && x>=0 && x<6) {

   document.write('<img src="plaatje 1">')

} else

if(y=1 && x>=6 && x<12) {

   document.write('<img src="plaatje 2">')

} else

enz enz

Gister, toen ik het heb geimplementeerd in de doelpagina werkte het prima, dus ik ging ervan uit dat 1 zaterdag is, 2 zondag, 3 maandag enz.
Maar helaas....

Vandaag krijg ik geen plaatjes te zien, wat voor nummer ik y ook geef.

Dus ik zal het wel fout gedacht hebben en/of ik zie iets over het hoofd.
Wie o wie kan mij hierbij helpen?
 
Misschien is een matrix wel handig, anders krijg je zoveel 'enz enz'. :)
PHP:
<script type="text/javascript">
 var dt = new Date(), day = dt.getDay(), hour = dt.getHours();
 var nr = [
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,6,7,7,7,0,0,0],  // zo
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],  // ma
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],  // di
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],  // wo
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],  // do
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],  // vr
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,0,0,0]]; // za

// 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2
// 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3

 document.write('<img src="plaatje ' + nr[day][hour] + '">')

</script>
Vr.Gr. Egel.
 
@Tha Devil
Dank! Als ik nu plaatjes instel op vandaag (y=1) dan krijg ik ze wel te zien.
Wat ik dan wel gek vind is dat toen ik het in mijn pagina zette, en ik begon ook gewoon met y=1 kreeg ik ook de goede plaatjes te zien, terwijl dat op zaterdag was :confused:
Maar goed nu lijkt het te werken dus even afwachten hoe de rest van de week gaat...

@Egel
Dat is een goed idee, want het worden inderdaad best veel enz enz.
Ik ga er even naar kijken, dank je wel!
 
Als je elke dag dezelfde uren hebt kan iets als dit ook:
PHP:
<script type="text/javascript">
 var dt = new Date();
 var dag = ['zo','ma','di','wo','do','vr','za'][dt.getDay()];
 var nr = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,0,0,0][dt.getHours()];
 document.write('<img src="plaatje_' + dag + '_' + nr + '.jpg">');
</script>
dat geeft op dit moment plaatje_ma_0.jpg weer en over een uur plaatje_ma_1.jpg :)


Vr.Gr. Egel.
 
Het zijn ook helaas verschillende uren, dus dan zou je eerste optie beter zijn.

Ga m vanavond even proberen, ik zal alleen mn plaatjes moeten gaan renamen, want dat "plaatje 1, plaatje 2" was maar een voorbeeld, ik gebruikte "gewone namen" ;)
Maar met een nr lijkt me wel handiger omdat je dan een kortere en overzizchtelijke matrix zoals jouw suggestie kan maken.
 
Nou ik heb nu de korte versie gebruikt, en het werkt uitstekend!

Dank! :thumb:
 
Graag gedaan! :)

Je kunt ook nog deze combinatie gebruiken:
PHP:
<script type="text/javascript">
 var dt = new Date(), day = dt.getDay(), hour = dt.getHours();
 var dag = ['zo','ma','di','wo','do','vr','za'][day];
 var nr = [
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,0,0,0],  // zo
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,0,0,0],  // ma
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,0,0,0],  // di
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,0,0,0],  // wo
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,0,0,0],  // do
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,0,0,0],  // vr
  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,0,0,0]]; // za

// 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2
// 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3

 document.write('<img src="plaatje_' + dag + '_' + nr[day][hour] + '">')
</script>
zo heb je plaatjes met mooie namen als plaatje_do_0.jpg maar kun je toch per dag verschillende uren gebruiken. :)


Vr.Gr. Egel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan