Simpele JS formule werkt niet

Status
Niet open voor verdere reacties.

Wilcovdg

Gebruiker
Lid geworden
10 jun 2014
Berichten
256
Hallo :cool:

Ik zit met een probleempje... Ik ben bezig met wat JS werk maar nu werkt een script niet...

Code:
<!DOCTYPE html>
<html lang="nl">
	<head>
	<meta charset="utf-8">
	<title>Gezond leven</title>
	<link rel="stylesheet" type="text/css" href="css.css">
	<script type="text/javascript">
		function navigatiemenu() {
		var menu_elements = document.querySelectorAll('.menu>li'),
			menu_length = menu_elements.length;
		for (var i = 0; i < menu_length; i++) {
			menu_elements[i].addEventListener('click', function (e) {
				var target = document.querySelector('.container>.' + e.target.classList[0]);
				Array.prototype.filter.call(target.parentNode.children, function (siblings) {
					siblings.style.display = 'none';
				});
				target.style.display = 'block'; 
			});
		}}
	</script>
	<script type="text/javascript">
		function BMI() {
			var x=document.getElementById('lengte').value;
			var y=document.getElementById('gewicht').value;
			var z=x*x
			var w=y/z
			var B= Math.round(w)
			document.getElementById('BeeMI').innerHTML="Uw BMI is ", B, ". Zie de tabel hieronder voor uitleg."
		}
	</script>
	</head>
	<body onLoad="navigatiemenu ()">
	<h1>Gezonder leven!</h1>
		<nav>
			<ul class="menu">
				<li class="Home">Home</li>
				<li class="Vetmeter">Vetmeter</li>
				<li class="Caloriemeter">Caloriemeter</li>
				<li class="Energiemeter">Energiemeter</li>
			</ul>
		</nav>
	<div class="container">
		<div class="Home">
			<p>Welkom!</p>
			<p>Gezond Leven</p>
			<p>
			Leven op een gezonde manier is erg belangrijk voor je welzijn, maar hoe weet je nou precies 
			wanneer je gezond leeft. Onze website helpt je daarbij. Met behulp van de vet-, calorie- en 
			energiemeter kun je bekijken of je gezond leeft. <br>
			Met de vetmeter kun je berekenen wat je BMI is. Het is erg simpel om je BMI te berekenen. Je 
			moet je gewicht en je lengte invullen en vervolgens wordt je BMI berekend. <br>
			De caloriemeter om de calorieën van bepaalde voedingsmiddelen te bepalen. Hier kun je kiezen uit
			een aantal voedingsmiddelen en daarvan worden de calorieën opgeteld. <br>
			Met de energiemeter kun de hoeveelheid energie berekenen van een aantal gezonde activiteiten. 
			Je kunt kiezen uit wandelen, hardlopen, fietsen, zwemmen of roeien. <br>
			Al deze factoren samen zullen je een indicatie geven of je gezond leeft of niet. 
			</p>
			<p>Dit is een link naar onze favoriete website. Daaronder staat een leuk plaatje.</p> <br> <br> 
			<a href="http://voorkomblessures.veiligheid.nl/fitness/gezond-leven?open&gclid=CjwKEAjwhdOwBRDFsYTfhvzX1hYSJAAfCUcL5-WFEdQd9h6Rptvb2nvQkyxZejuofCdNaYe09gIuphoCaEbw_wcB" target=_blank>Favoriete Website</a>
			<br>
			<br>
			<br>
			<p3> Een Leuk Plaatje </p3>
			<br>
			<br>
			<img src="leuk.jpg" />
		</div>
		<div class="Vetmeter">
			<h2>Vetmeter</h2>
			<br>
			<p>
			<form name="BMI">
				<p>
				De BMI, ofwel Body Mass Index, geeft een goed inzicht hoe gezond je bent.<br>
				Je kan de BMI berekenen door de twee volgende velden correct in te vullen: 
				</p>
				Lengte: <input type="tekst" name="lengte" value="" align=right>
				<br>
				Gewicht: <input type="tekst" name="gewicht" value="" align=right>
				<br>
				<input type="button" value="Bereken je BMI" onclick="BMI()">
				</form>
			<p id="BeeMI"></p>
			</form>
			<br>
				<table>
					<tr>
						<th>BMI</th>
						<th>Classificatie</th>
						<th>Risico</th>
					</tr>
					<tr>
						<td>Minder dan 18.5</td>
						<td>Ondergewicht</td>
						<td>Laag, maar verhoogd risico op andere aandoeningen</td>
					</tr>
					<tr>
						<td>Tussen de 18.5 en 25</td>
						<td>Normaal gewicht</td>
						<td>Gemiddeld</td>
					</tr>
					<tr>
						<td>Tussen de 25 en 30</td>
						<td>Overgewicht</td>
						<td>Verhoogd</td>
					</tr>
					<tr>
						<td>Meer dan 30</td>
						<td>Obesitas</td>
						<td>Duidelijk verhoogd</td>
					</tr>
				</table>
			</p>
		<img src="vet.jpg" alt="Een kilo lichaamsvet"></img>
		</div>
		<div class="Caloriemeter">
			DE CALORIEMETER
		</div>
		<div class="Energiemeter" >
			DE Energiemeter
		</div>
	</div>
	</body>
</html>
Nu staan er in deze code twee Js scripts, welverstaan eentje om te zorgen dat maar een bepaald gedeelte van de pagina zichtbaar is (welke succesvol werkt)
En ook eentje die de BMI berekent.
Maar deze werkt niet.

Iemand enig idee wat ik hier fout doe?
 
Laatst bewerkt:
OK inmiddels heb ik het e.e.a. zitten doen, onder andere n.a.v. Antoon via de debugger van Chrome.
(code is aangepast)

De debugger meld dat de functie BMI() niet bestaat, terwijl hij wel vrolijk leeft @ head

Inmiddels ook geprobeerd in de body, haalt ook niks uit
 
Laatst bewerkt:
Getracht, maar dan werkt ook het navigatiemenu niet...
 
Laatst bewerkt door een moderator:
Er staan in het stukje script waar je de innerHTML toewijst aan de div met id 'BeeMI' twee komma's waar er twee plus tekens moeten staan:

Origineel:
[JS]"Uw BMI is ", B, ". Zie de tabel hieronder voor uitleg."[/JS]

Moet zijn:
[JS]"Uw BMI is " + B + ". Zie de tabel hieronder voor uitleg."[/JS]

Dit zou het moeten oplossen.
 
Er staan in het stukje script waar je de innerHTML toewijst aan de div met id 'BeeMI' twee komma's waar er twee plus tekens moeten staan:

Origineel:
[JS]"Uw BMI is ", B, ". Zie de tabel hieronder voor uitleg."[/JS]

Moet zijn:
[JS]"Uw BMI is " + B + ". Zie de tabel hieronder voor uitleg."[/JS]

Dit zou het moeten oplossen.

Dankje!
Echter was daar direct na de functie nog niet werkend, maar door de twee vars in de titel te veranderen naar parseFloat(document.BeMi.gewicht/lengte.value) is hij nu wel functionerend.

Bedankt :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan