I vilken riktning vi bryter elementets ramar

Ett recept på hur vi kan ta fram var ett mus -”event”, så som vid ”mouseenter” och ”mouseleave”, skedde i förhållande till elementet där lyssnaren fästs. På så vis kan vi få reda på från vilken riktning musen lämna eller penetrera elementets ramar.

function direction( event )
{
  var
  target = $( event.delegateTarget ),
  offset = target.offset(),
  width  = target.width(),
  height = target.height(),
  top    = Math.abs( event.pageY - offset.top ),
  right  = Math.abs( event.pageX - offset.left - width ),
  bottom = Math.abs( event.pageY - offset.top - height ),
  left   = Math.abs( event.pageX - offset.left );

  if( top <= right && top <= bottom && top <= left )
    return 'top';
  else if( right <= top && right <= bottom && right <= left )
    return 'right';
  else if( bottom <= top && bottom <= right && bottom <= left )
    return 'bottom';
  else
    return 'left';
};

Länkar

http://api.jquery.com/category/events/mouse-events/