Lenenmodule
De module bouwen: Maar eerst even dit.
!!!
Op je rekenmachine kun je machten invoeren.
Dit gaat met toets waar de letters xy of x^y opstaan of het symbool ^ .
Je tikt eerst het grondgetal in.
Dan de xy, x^y of ^ toets en daarna de macht.
Javascript kent de operator ^ niet.
Wij gebruiken de dubbele asterisk (**)
De bestanden klaarzetten
Maak een projectmap met een Index.html, code.js en style.css
Zorg dat de bestanden op de juiste manier aan elkaar gekoppeld zijn.
We beginnen net het plaatsen van input-velden op de pagina.
Hier kan een gebruiker straks de gegevens invoeren om de berekening te maken.
Neem de HTML, JS en CSS code uit de voorbeelden over.
De HTML code
De leenmodule
@charset "UTF-8";
*{
margin: 0;
padding: 0;
}
html, body{
width: 100%;
height: 100%;
}
#container{
position: relative;
margin: 50px auto;
width: 100%;
}
form{
position: relative;
margin: 20px auto;
width: 40%;
}
#leenbedrag, #rente, #looptijd, #button{
width: 100%;
}
$(document).ready(function(){
});
variabelen, click en functie
We beginnen met het declareren van de variabelen die we nodig hebben.
In deze variabelen kunnen we de gegevens uit de invoervelden opslaan zodat we die later in de berekeningen kunnen gebruiken.
De variabele cumulatief bespreken we later.
var leenbedrag;
var rente;
var looptijd;
var cumulatief;
Vervolgens koppelen we een actie aan de knop.
In deze actie worden de gegevens uit de input velden ook daadwerkelijk in de variabelen gezet.
Vervolgens wordt de functie calc aangeroepen.
In deze functie staat nu nog even een check of het tot zo ver goed gaat (console).
Als de gegevens uit de invoervelden correct weergegeven worden in de console mag je de regels 15, 16 en 17 weer deleten.
$("#button").click(function(){
leenbedrag = $("#leenbedrag").val();
rente = $("#rente").val()/100;
looptijd = $("#looptijd").val();
calc();
});
var calc = function(){
console.log(leenbedrag);
console.log(leenbedrag);
console.log(leenbedrag);
}
De formules
In de functie calc geven we de waarde 0 aan variabele cumulatief.
Ook maken we de div #cumulatief (in je html pagina) leeg.
– Begrijp je het verschil tusse de variabele cumulatief en de div cumulatief?
En dan gaan we nu de formules die je in sheets gemaakt had vertalen naar JS.
De resultaten worden opgeslagen in de nieuwe variabelen rentevoet en maandbedrag.
Controleer weer of de uitkomsten okay zijn.
var calc = function(){
cumulatief = 0;
$("#cumulatief").empty();
var rentevoet = (1 + rente) ** (1/12) - 1;
var maandbedrag = (leenbedrag * rentevoet * (1 + rentevoet) ** looptijd / ((1 + rentevoet) ** looptijd - 1));
}
De lijst
Er moet nu nog een lijst gegenereerd worden met alle maanden van de looptijd.
Daarvoor maken we in de functie calc een for-loop.
In de loop maken we voor elke maand een div met de classname termijn.
Op regel 24 zie je dat er ter controle het getal i in de div gezet wordt.
Daarna wordt de div in #cumulatief geplaatst.
Contoleer het werk in firefox.
De eerste div heeft nummer 0, de laatste nummer 35.
Dat lossen we zo meteen op.
for(var i = 0 ; i < looptijd ; i++){
}
for(var i = 0 ; i < looptijd ; i++){
cumulatief+=maandbedrag;
console.log(cumulatief);
}
for(var i = 0 ; i < looptijd ; i++){
cumulatief+=maandbedrag;
var termijn = $("");
termijn.append(i);
$("#cumulatief").append(termijn);
}
We wissen de controle-regel (console.log) en maken in plaats daarvan 2 variabelen (maand en bedrag) met daarin een regel tekst.
Die variabelen zetten we in termijn.
In de variabele maand staat I+1. Waarom?
Als je nu test zie je dat er inmiddels weer wat opmaak nodig is.
Neem ook de CSS-rules uit het voorbeeld over.
var maand = $("Maand "+(i+1)+"
");
var bedrag = $("AWG "+cumulatief.toFixed(2)+"
");
termijn.append(maand);
termijn.append(bedrag);
$("#cumulatief").append(termijn);
p{
font-family: sans-serif;
font-weight: 100;
font-size: 16px;
float: left;
width: 48%;
padding: 3px 1%;
}
.mnd{
text-align: right;
}
RenteTotaal
In het begin van deze oefening heb je in de html-pagina een div gemaakt met de ID renteTotaal.
Laten we daar ook nog even iets inzetten.
Maak de drie variabelen met elk een tekst waarin de variabelen verwerkt worden.
De variabelen zet je in een h3 tag in #renteTotaal.
Neem ook de css rules voor renteTotaal, h3 en span over
var m = "Per maand moet AFL "+maandbedrag.toFixed(2)+" betaald worden.
"
var c = "Na "+looptijd+" maanden is AFL "+cumulatief.toFixed(2)+" betaald.
"
var r = "Waarvan AFL "+(cumulatief-leenbedrag).toFixed(2)+" rente!
"
$("#renteTotaal").html(m+c+r);
Als je alles goed hebt gedaan heb je nu de module klaar.
Deze kan nu in een website geembed worden.
#renteTotaal{
position: relative;
margin-bottom: 10px;
border-bottom: 0.5px solid gray;
}
h3{
text-align: center;
font-family: sans-serif;
font-weight: 100;
font-size: 16px;
}
span{
font-weight: 300;
}