11486 sujets

JavaScript, DOM et API Web HTML5

bonjour

je voudrais savoir comment faire pour tester si un element est au dessus d'un autre

merci d'avance
Modérateur
Salut,

Mettre une background bleu au premier et rouge au second (ou inversement) et regarder qui est au dessus de qui ?

pro tips : ca marche aussi avec le vert.
Bonjour,

Ce code Javascript pourrait vous aider :

        const item_a = document.querySelector('#mon_item');
        const item_b = document.querySelector('#lautre_item'); // <-- En bleu ou en vert, ca marche aussi.

        var item_a_zindex = document.defaultView.getComputedStyle(item_a).getPropertyValue('z-index');
        var item_b_zindex = document.defaultView.getComputedStyle(item_b).getPropertyValue('z-index');

        console.log(item_a_zindex);
        console.log(item_b_zindex);


Attention, vous pouvez avoir la valeur "auto" en retour si aucune autre valeur z-index n'a été spécifiée pour un élément.
Ceci étant dit : ce code ne fait que la moitié du travail, il ne vous dit pas pour autant si item_a recouvre (ou est recouvert) par l'item_b.

Pour cela, il faudrait peut-être tenter via la fonction getBoundingClientRect() (https://developer.mozilla.org/fr/docs/Web/API/Element/getBoundingClientRect) ?

Regardez aussi cet article, il pourrait vous aider : https://time2hack.com/checking-overlap-between-elements/

En espérant vous avoir aidé Smiley cligne
Modifié par Bouchon (18 Aug 2020 - 14:59)
Modérateur
Re-coucou,

Désolé qu'on ne puisse pas tout deviner du premier coup, mais ça serait cool que tu donnes tout les détails dès le début (le contexte, un peu de code, ce que tu as tenté, pourquoi ca marche pas...) et surtout que tu mettes un peu les formes dans tes réponses. C'est toujours plus agréable d'avoir un "merci mais...", rien de trop compliqué hein mais un verbe et un peu de gratitude envers ceux qui essaie de t'aider bénévolement ça passe toujours mieux que
addin a écrit :
dans un canvas


Merci !

Bonne aprem ! Smiley smile