Retourner à la page d'accueil de TJS

Méthode : HTMLElement.getBoundingClientRect()

Retourne les dimensions et la position de l'objet

Syntaxe
JSON obj.getBoundingClientRect()

Compatible tous navigateurs

Description
Retourne un objet contenant les dimensions totales, incluant le padding et l'encadrement, ainsi que la position de l'objet sur la page.

La gestion des dimensions et des positions des éléments à l'écran a toujours été une des plus grandes difficultés. Malgré la convergence des navigateurs, il existe encore de nombreuses subtilités. C'est ainsi tout l'intérêt des frameworks comme jQuery qui assure une parfaite compatibilité avec une syntaxe limpide.


Exemple 1 : Usage du ClientRect
Code source
<style type="text/css">
 div#myDiv {
   background-color:#faa;
   padding:5px;
   margin:5px;
   border:3px solid #999
 }
 div.calque {
   position:absolute;
   opacity:0.6;
   padding:0px;
   margin:0px;
   background-color:#fff;
   text-align:center;
   animation:anim 0.3s infinite;
 }
 @keyframes anim {
   0%   { opacity: 0; }
   100% { opacity: 0.6; }
 }
</style>

<div id="myDiv">MON DIV</div>

<script>
 function showCalque() {
   var div=document.getElementById("myDiv");
   var pos=div.getBoundingClientRect();
   console.log(pos);

   /* Création d'un calque transparent au dessus de myDiv */
   var calque=document.createElement("div");
   calque.innerHTML=Math.round(pos.width)+"x"+Math.round(pos.height);
   calque.setAttribute("class", "calque");
   calque.style.top=Math.round(pos.top)+"px";
   calque.style.left=Math.round(pos.left)+"px";
   calque.style.width=Math.round(pos.width)+"px";
   calque.style.height=Math.round(pos.height)+"px";
   document.body.appendChild(calque);
 }

 document.addEventListener("DOMContentLoaded", showCalque);
</script>

Résultat
MON DIV
Emulation de la console
Explication
Une fois le DOM chargé, un calque est superposé juste au dessus de myDiv.
Une animation clignotante le rend bien visible.

Page en rapport
Introduction au DHTML
Page mise à jour le

Nouvelle édition Tout JavaScript chez Dunod

Tout JavaScript le livre chez DunodEn savoir plus
Sortie le 21 octobre

Version papier à 29€90
Format électronique à 22€99.

Commandez en ligne

Chercher une fonction, un objet, ...

Le 26/11/2020 00:02:10 sur php7 en 23.96 ms