Comment puis-je vérifier la collision entre certaines divs?
Au moment où j'utilise Comment puis-je continuer à vérifier des celles spécifiques? Utilisation de ce getboundingClientRect () code>, mais il vérifie chaque div: p>
pour code> boucle, je peux obtenir les identifiants des divs que je veux vérifier: p>
3 Réponses :
D'accord, j'ai fini par utiliser une version modifiée de cette duplication . La fonction qui fait le travail est la suivante: et elle est appelée à l'aide de chevauchements (div1, div2); code> (retourne vrai ou faux). P> p>
Vous pouvez également utiliser le Voici la fonction que j'ai développée à l'aide du tutoriel trouvé à l'adresse suivante: P> Détection de collision 2D em> p> getboundingClientRect () largement pris en charge () code> pour atteindre cet objectif.
// a & b are HTMLElements
function overlaps(a, b) {
const rect1 = a.getBoundingClientRect();
const rect2 = b.getBoundingClientRect();
const isInHoriztonalBounds =
rect1.x < rect2.x + rect2.width && rect1.x + rect1.width > rect2.x;
const isInVerticalBounds =
rect1.y < rect2.y + rect2.height && rect1.y + rect1.height > rect2.y;
const isOverlapping = isInHoriztonalBounds && isInVerticalBounds;
return isOverlapping;
}
Duplicats possibles: Stackoverflow.com/q/4230029/1048572 , Stackoverflow.com/q/8829421/1048572
Merci, je vais les regarder. Ils entrent en collision à l'aide de JQuery UI Dropper. Je veux détecter si une div a déjà été tombée au même endroit.