Methode innerWidth
De methode innerWidth maakt het mogelijk om
de breedte van een element inclusief zijn binnenste
marges (padding) te verkrijgen en te wijzigen. Het is belangrijk te onthouden dat we
de 'berekende waarde' van de breedte zullen krijgen
(computed width).
Berekeningsfouten kunnen ook optreden als
de gebruiker de afmetingen van de pagina wijzigt, of als
het element of zijn ouder verborgen is. De breedtewaarde
houdt geen rekening met de dikte van de rand (border) van het element.
Syntaxis
De breedte van een element verkrijgen. In sommige gevallen kunnen de verkregen waarden fractioneel zijn:
$(selector).innerWidth();
Om de breedte van een element te wijzigen - kan je eenvoudig een
getal doorgeven (bijvoorbeeld 400), dan zal de meeteenheid
pixels zijn, of een string,
met vermelding van de meeteenheid (bijvoorbeeld
'10em'):
$(selector).innerWidth(nieuwe waarde);
We kunnen ook een opgegeven functie toepassen op elk
element in de set. Hierbij krijgt de functie als eerste parameter de index van het element in de set, en als tweede parameter
- de huidige waarde van de opgegeven breedte voor dat specifieke
element. De waarde van this binnen de functie zal
wijzen naar het huidige element.
De breedtewaarde van het element verandert naar de waarde
die door de functie wordt teruggegeven:
$(selector).innerWidth(function(index in set, huidige breedtewaarde));
Voorbeeld
Laten we ter vergelijking informatie over de
breedte van de alinea #test, verkregen met de methodes
width
en innerWidth, weergeven:
<p id="test">tekst</p>
<p id="out1"></p>
<p id="out2"></p>
p {
margin: 10px;
padding: 5px;
border: 2px solid blue;
}
let w1 = $('#test').width();
let w2 = $('#test').innerWidth();
$('#out1').text(w1);
$('#out2').text(w2);
We zullen een verschil zien van 10px, wat de som is
van onze linker- en rechter binnenste marges (padding).
Zie ook
-
methode
width,
die het mogelijk maakt om de breedte van een element te verkrijgen en te wijzigen -
methode
outerWidth,
die het mogelijk maakt om de breedte van een element te verkrijgen en te wijzigen, rekening houdend met zijn marges en rand