Détecter la collision de 2 éléments HTML.

Cette fonction va détecter une collision entre 2 éléments html.

  1. collision = function (element1, element2) {
  2.  
  3.                 //Récupération des éléments
  4.                 element1 = $(element1);
  5.                 element2 = $(element2);
  6.  
  7.                 //Quel est la position des éléments.
  8.                 var pos1 = element1.position();
  9.                 var pos2 = element2.position();
  10.  
  11.                 //Quel est leur taille.
  12.                 var L1 = element1.width();
  13.                 var L2 = element2.width();
  14.                 var h1 = element1.height();
  15.                 var h2 = element2.height();
  16.  
  17.                 //On crée les positions manquante.
  18.                 pos1.right = pos1.left+L1;
  19.                 pos2.right = pos2.left+L2;
  20.                 pos1.bottom = pos1.top+h1;
  21.                 pos2.bottom = pos2.top+h2;
  22.  
  23.                 //On teste si les éléments ne ce touche pas.
  24.                 if(pos1.right < pos2.left) return false;
  25.                 if(pos1.left > pos2.right) return false;
  26.                 if(pos1.bottom < pos2.top) return false;
  27.                 if(pos1.top > pos2.bottom) return false;
  28.  
  29.                 //Si il y a collision, on renvoie true.
  30.                 return true;
  31.         }

Laissez un commentaire