jQuery Добавить событие клика, если курсор между координатами

Если я должен следовать HTML, который является изображением карты. Карта разделена на цветные области. Моя цель, если курсор находится над областью изображения, чтобы поменять местами изображение.

<div id="map" class="mouse-click"><img class="image-swap" src="images/map.png" /></div>

Я могу найти координаты X Y с

$('#map').mousemove(function(e){
    var x = e.clientX - this.offsetLeft;
    var y = e.clientY - this.offsetTop;
    $('#map-xy').html("X: " + x + " Y: " + y); 
});

Как добавить событие щелчка, чтобы поменять img, если курсор находится между набором координат.

Любая помощь приветствуется.

1 ответ

Решение
$('#map').on('click', function(e){
    var x = e.clientX - this.offsetLeft,
        y = e.clientY - this.offsetTop;
    if (x > xMin && x < xMax && y > yMin && y < yMax) {
        // click was in target zone, swap img
    }
});

куда xMin, xMin, yMax, а также yMin опишите границы целевой области.

Другие вопросы по тегам