Archief - [JAVASCRIPT] variabele aanpassen aan tijd, check

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

[ JO ]

Legacy Member
Hallo iedereen

Ik heb een kort javascriptje geschreve, maar het klopt volgens mij ergens nog niet. Kben het nog maar net aant lere, dus weet er nog niet zo veel van.
Het moet er voor zorgen dat de variabele chart op verschillende tijdstippen een andere waarde heeft.
Ik wil eigenlijk het liefst dat A,B en C gelijk worden aan <img src="sdf" alt="sdf' />. De uiteindelijk bedoeling is dat op bepaalde uren de ene afbeelding getoond wordt en andere afbeeldingen een andere keer.

Scriptje:
Code:
<script type="text/javascript">
    function which_chart() {
   now = new Date();
   hour = now.getUTCHours();
   if (hour < 01 || hour > 15) {chart="A" ;}
   else
      if (hour > 00 && hour < 04) {chart="<B" ;}
      else {chart="C" ;}
// alert(chart);
   return(chart);
}
</script>

Alvast bedankt!
Jonas

Jerre Muesli

Legacy Member
Wat doet u denken dat uw script fout is?
Geeft uw functie geen waarden terug volgens u?
Hebt ge een foutmelding of krijgt ge geen return value?

Jerre Muesli

Legacy Member
U script werkt maar het is gewoon slecht geschreven.
Een betere versie zou zijn;

Code:
<script type="text/javascript">
function getPictureByHour(){
   var imgTag;
   var hour = new Date().getHours();
   if(hour < 9){
     imgTag= "<img src='a.jpg' alt='description'/>";
   }else if( hour < 14){
     imgTag= "<img src=b.jpg' alt='description'/>";
   }else{
     imgTag= "<img src=c.jpg' alt='description'/>";
   }
   return imgTag;
}
document.write(getPictureByHour());
</script>

[ JO ]

Legacy Member
Ik dacht dat het fout zou zijn omdat wanneer ik het in mn html aanroep er niks gebeurt.
Jouw script is inderdaad wel beter. Minder variabele en de tijd is ook makkelijker zoals jij het doet! Bedankt!

Kan ik in html gewoon dit zetten:

Code:
<script type="text/javascript">
document.write(getPictureByHour());
</script>

En die document.write dan gewoon uit het bovenstaand script. En het script in een apart .js bestand en koppelen aan html?
Misschien dat ik dit moet vragen in het webdesign forum?

etl_mx

Legacy Member
Je kan een appart bestand gebruiken voor je javascript. is mooier ook :)

Het is nog mooier ( in jouw geval ) om in je html je <img> een ID te geven en dan in je javascript je img aan tespreken ahv je ID en de src aan te passen. Zo heb je die document.write niet nodig :).

[ JO ]

Legacy Member
Dat lijkt me best wel mooi. Maar ik heb geen idee hoe je in javascript die img kan aanspreken en de source veranderen? Kan je even een stukje code posten?

Het lukt me trouwens niet om die img tevoorschijn te toveren door die document.write...

Thx alle twee!!

etl_mx

Legacy Member
html:
Code:
<html>
<head>
<title>hehe</title>
<script type="text/javascript" src="myscript.js"></script>
</head>
<body>

<img id="vulmijop" />

</body>
</html>

javascript bestand myscript.js:
Code:
function getPictureByHour() {
   var imgTag;
   var hour = new Date().getHours();
   
   if (hour < 9) {
	 imgTag = "A.jpg";
   } else if( hour < 14) {
	 imgTag = "B.jpg";
   } else {
	 imgTag = "C.jpg";
   }
   
   document.getElementById("vulmijop").src = imgTag;
}

window.onload = getPictureByHour;

[ JO ]

Legacy Member
Niiice dankjewel!
Works like a charm!

Heb in html wel even de alt ingevuld en de src gewoon leeg gelaten, dan geeft hij geen foutmelding:-)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan