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 mise à jour le

Chercher une fonction, un objet, ...

Le graph des objets Javascript



Chargement
en cours...

Le guide complet du javascript

Le Guide Complet du JavascriptEn savoir plus sur mon livre aux Editions Micro Application
Le 24/11/2017 06:42:15 sur php7 en 18.11 ms