Toon posts:

[Javascript] Error, weet niet wat fout is

Pagina: 1
Acties:
  • 63 views sinds 30-01-2008

Verwijderd

Topicstarter
Mijn script doet het volledig en doet alles wat het moet doen alleen.. >>

'als je 1 pauze invoert, en als die pauze op 2 dagen ligt geeft hij een error'

Weet iemand wat er fout is, en hoe ik dit kan verhelpen?!
(Als je het zelf wil uitproberen kan je het kopieren en werkt het direct in IE.. )



<html>
<head>
<title>Opdracht 3</title>
<link rel="Stylesheet" type="text/css" href="layout/binnen.css">

<script type="text/javascript">
<!--
var rusttijd = new Array();
var snelincl = 0;
var snelexcl = 0;
var nu = new Date();
var vertrek, begin, eind, rijtijd, pauzetijd, fout = '', laatste = 0;

function pauzes()
{
if (apauze.value != 0)
{
pvenster.innerHTML = "<br>En de pauzes waren op deze tijden:<br> &nbsp; &nbsp; Begin: &nbsp; &nbsp; Eind:<br>";
for (var i = 1 ; i <= apauze.value ; i++)
{
rusttijd[i] = new Array();
rusttijd[i][0] = 0;
rusttijd[i][1] = 0;
pvenster.innerHTML += i + "<sup>e</sup> <input type='text' name='p" + i + "b' size='4' " +
"onchange='rusttijd[" + i + "][0] = this.value' class='veld'> - " +
"<input type='text' name='p" + i + "e' size='4' " +
"onchange='rusttijd[" + i + "][1] = this.value' class='veld'><br>";
}
pvenster.innerHTML += "</table>";
}
}

function transform(tijd, hoe)
{
var uur, min;
if (hoe == "comp")
{
uur = Math.floor(tijd);
min = (tijd % 1) / 0.6;
}
else if (hoe == "mens")
{
uur = Math.floor(tijd);
min = (tijd % 1) * 0.6;
}
else alert("Onbekende tijd-transformatie parameter");
tijd = uur + min;
return tijd;
}

function computertijden()
{
for (var i =1 ; i <= apauze.value ; i++)
{
rusttijd[i][0] = transform(rusttijd[i][0], "comp");
rusttijd[i][1] = transform(rusttijd[i][1], "comp");
}
}

function controleer()
{
vertrek = transform(tijd.value, "comp");
computertijden();
if (apauze.value != 0)
{
for (var i = 1 ; (i-1) <= apauze.value ; i++)
{
reistijden(i);
if (!laatste)
{
if (rijtijd > 2) fout += "Voor de " + i + "e pauze heeft u te lang gereden.\n" + commentaar('langrij');
if (rijtijd < 2) fout += "Voor de " + i + "e pauze had u langer kunnen rijden.\n" + commentaar('kortrij');
if (pauzetijd > 0.25) fout += "De " + i + "e pauze heeft u ruim genomen.\n" + commentaar('langpauze');
if (pauzetijd < 0.25) fout += "De " + i + "e pauze was niet lang genoeg.\n" + commentaar('kortpauze');
}
else if (rijtijd > 2) fout += "Het is trouwens al weer tijd voor de volgende pauze.";
}
}
else
{
eind = transform(tijdnu(), "comp");
rijtijd = eind - vertrek;
if ((eind-vertrek) < 0) rijtijd += 24;
alert(rijtijd);
if (rijtijd > 2) fout += "Het is tijd voor een pauze.";
}
fout += snelheid();
alert(fout);
}

function tijdnu()
{
var nuur = nu.getHours();
var nmin = nu.getMinutes();
if (nmin < 10) nmin = "0" + nmin;
var ntijd = nuur + "." + nmin;
return ntijd;
}

function reistijden(i)
{
if (i == 1)
{
rijtijd = rusttijd[i][0] - vertrek;
if ((rusttijd[i][0] - vertrek) < 0) rijtijd += 24;
pauzetijd = rusttijd[i][1] - rusttijd[i][0];
if ((rusttijd[i][1] - rusttijd[i][0]) < 0) rusttijd += 24;
}
else if ((i-1) != apauze.value)
{
rijtijd = rusttijd[i][0] - rusttijd[i-1][1];
if ((rusttijd[i][0] - rusttijd[i-1][1]) < 0) rijtijd += 24;
pauzetijd = rusttijd[i][1] - rusttijd[i][0];
if ((rusttijd[i][1] - rusttijd[i][0]) < 0) pauzetijd += 24;
}
else if ((i-1) == apauze.value)
{
eind = transform(tijdnu() , "comp");
rijtijd = eind - rusttijd[i-1][1];
if ((eind - rusttijd[i-1][1]) < 0) rijtijd += 24;
laatste = 1;
}
rijtijd = Math.round(100 * rijtijd) / 100;
pauzetijd = Math.round(100 * pauzetijd) / 100
}

function snelheid(){
var sompauze = 0;
var afstand_km = km.value;
var vertrek = transform(tijd.value, "comp");
var eind = transform(tijdnu() , "comp");
var rijtijd = eind - vertrek;
if ((eind - vertrek) < 0) rijtijd += 24;
snelincl = Math.round(10*afstand_km/rijtijd)/10;
for (var j = 1 ; j <= apauze.value ; j++)
{
pauzetijd = rusttijd[j][1] - rusttijd[j][0];
if ((rusttijd[j][1] - rusttijd[j][0]) < 0) pauzetijd += 24;
rijtijd -= pauzetijd;
sompauze += pauzetijd;
}
snelexcl = Math.round(10*afstand_km/rijtijd)/10;

return "\n\nUw gemiddelde snelheid inclusief pauzes is " + snelincl +
" km/h\nUw gemiddelde snelheid exclusief pauzes is " + snelexcl +
" km/h\n\nDe pauzes samen duurden " + Math.round(100 * transform(sompauze, "mens")) / 100 + " uur.\n" +
"De totale reisduur was " + Math.round(100 * transform((rijtijd+sompauze), "mens")) / 100 + " uur, \nen de " +
"tijd dat er gereden is, is " + Math.round(100 * transform(rijtijd, "mens")) / 100 + " uur.";
}

function commentaar(wat)
{
if (comment.checked)
{
if (wat == 'langrij')
return "\t" + langrij[Math.round(Math.random() * (langrij.length - 1))] + "\n";
if (wat == 'kortrij')
return "\t" + kortrij[Math.round(Math.random() * (kortrij.length - 1))] + "\n";
if (wat == 'langpauze')
return "\t" + langpauze[Math.round(Math.random() * (langpauze.length - 1))] + "\n";
if (wat == 'kortpauze')
return "\t" + kortpauze[Math.round(Math.random() * (kortpauze.length - 1))] + "\n";
}
return '';
}
var langrij = new Array('Slapen achter het stuur is helemaal niet gevaarlijk nee.');
var kortrij = new Array('Er zijn wel meer mensen die vergeten te plassen voor ze verdergaan.',
'Als ik aambeien had, zou ik ook niet lang rijden.',
'Zuipt uw auto zoveel? Of u?');
var langpauze = new Array('Wordt u per uur betaald ofzo?',
'Zit er iemand van het andere geslacht naast u?');
var kortpauze = new Array('Snel naar huis, moest u weer \'overwerken\'?');
//-->
</script>
</head>
<body>
Tijden als uren.minuten (gescheiden met een punt) invullen alstublieft.<br>
Bijv: 2 over 9 = 9.02 of 21.02<br>
<br>
<table summary="" border="0">
<tr>
<td></td>
<td>Ik ben vertrokken om:</td>
<td><input type="text" name="tijd" size="4" class="veld"></td>
</tr>
<tr>
<td></td>
<td>En ik heb al zoveel pauzes gehad:</td>
<td><input type="text" name="apauze" size="4" onchange="pauzes()" class="veld"></td>
</tr>
<tr>
<td></td>
<td>Ik heb al zoveel km gereden:</td>
<td><input type="text" name="km" size="4" class="veld"></td>
</tr>
</table>
<div id="pvenster"></div><br>
<br>
Nutteloze Opmerkingen<input type="checkbox" name="comment" value="Nutteloze Opmerkingen" checked> <br>
<input type="button" value="En wat vind de computer daarvan?" onclick="controleer(); location.reload()" class="knop"><br>
<br><br>
</body>
</html>


  • André
  • Registratie: Maart 2002
  • Laatst online: 26-05 00:33

André

Analytics dude

Anders post je alleen de relevante code, wij zijn niet jouw persoonlijk script nakijk team.

En dit hoort in Webdesign & Graphics.

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Hoi,

Javascript hoort niet thuis in P&W, maar in Webdesign & Graphics. (Zie de forumdescription).

Daarnaast wordt het niet op prijs gesteld (niet in P&W, en niet in W&G) dat je hier zomaar je code dumpt, met de melding 'hij doet het niet', en dan verwacht dat er iemand zo lief is om die code voor jou te debuggen.
Zo werkt het hier niet.
Lees misschien eens de P&W Quickstart door, zodat je weet aan wat een topic hier moet voldoen.

[ Voor 99% gewijzigd door whoami op 01-03-2004 22:22 ]

https://fgheysels.github.io/


Dit topic is gesloten.