Retourner à la page d'accueil de TJS

Méthode : HTMLElement.getBoundingClientRect()

Compatible Internet Explorer / Edge  Compatible Chrome  Compatible Safari  Compatible Firefox  Compatible Opera  

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...
Le 18/09/2019 09:22:52 sur php7 en 30.83 ms