Установите флаг при наведении:
var over = false;
$('#elem').hover(function() {
over = true;
},
function () {
over = false;
});
Затем просто проверьте свой флаг.
Вы можете применить простое свойство из топологии.
Во-первых, убедитесь, что ваша граница разделяет вселенную (все доступные точки, с которыми вы имеете дело). Возможно, вам придется продлить границу через океан, чтобы закончить это.
Теперь, выберите любую контрольную точку, которая помечена как для региона - чтобы определить «Север» и «Юг», у вас должна быть хотя бы одна такая точка. w.l.o.g. предположим, что это «южная» точка, называемая Z
.
Теперь, для каждой точки A
, которую вы хотите классифицировать, нарисуйте непрерывный путь (прямой обычно проще, но не обязателен) от A
до Z
. Найти пересечения этого пути с границей. Если у вас четное количество пересечений, то A
относится к тому же классу («юг»), что и Z
; с другой стороны, это в другом классе («Север»).
Обратите внимание, что для этого требуется топологическое свойство «разбиения» - касательных к граничной линии нет: если ваш путь касается границы, он должен полностью пересечь.