質問

マップの画像であるHTMLに従わなければならない場合。マップはカラー領域に分かれています。私の目標は、カーソルが画像の領域を超えて画像を交換する場合です。

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

XY座標を見つけることができます

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

カーソルが一連の座標の間にある場合、IMGを交換するためにクリックイベントを追加するにはどうすればよいですか。

どんな助けも感謝しています。

役に立ちましたか?

解決

$('#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 ターゲット領域の境界を説明してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top