Retourner à la page d'accueil de TJS

Méthode : HTMLElement.getBoundingClientRect()

          

Retourne les dimensions et la position de l'objet

Syntaxe
JSON obj.getBoundingClientRect()

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 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

Mon nouveau livre Tout JavaScript chez Dunod

Tout JavaScript le livre chez DunodEn savoir plus
Sortie le 6 février 2019

Version papier à 29€90
Format électronique à 21€90.

Commandez en ligne Dunod  Fnac  Amazon

Chercher une fonction, un objet, ...

Le graph des objets Javascript



Chargement
en cours...

Nouveau service en ligne de TJS

cleanMyJS : Détectez toutes les erreurs JavaScript de vos sitescleanMyJS.com
Détectez, enregistrez et analysez toutes les erreurs JavaScript de vos sites
Le 20/02/2019 20:53:33 sur php7 en 72.27 ms