Gepost door joost
op 29 mrt 2010 in de categorie
HTML
Soms wil je de afmetingen van de viewport (browser afmetingen) opvragen via Javascript. Hier vind je een functie (en implementatie) van een functie die de Viewport Size opvraagt. Het is heel simpel, kijk maar...De eerste functie die je in de head zet...
function getViewportSize() {
var viewportwidth;
var viewportheight;
// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
if (typeof window.innerWidth != 'undefined') {
viewportwidth = window.innerWidth,
viewportheight = window.innerHeight
}
// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
viewportwidth = document.documentElement.clientWidth,
viewportheight = document.documentElement.clientHeight
}
// older versions of IE
else {
viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
viewportheight = document.getElementsByTagName('body')[0].clientHeight
}
return [viewportwidth, viewportheight];
}
en de tweede functie in de head...
function doResize() {
viewportSize = getViewportSize();
viewportWidth = viewportSize[0];
viewportHeight = viewportSize[1];
document.getElementById('id').style.width = (0.9 * viewportWidth - 200)+'px';
}
en natuurlijk een stukje code voor in de body tag...
<body onload="doResize()">
of als je continu wil checken of de breedte nog wel ok is, dan kun je ook een 'onresize' toevoegen...
<body onload="doResize()" onResize="doResize()">
Succes!