0

私は、JSON データがメイン マップの上に描画される一連のクラスに変換されるゲームに取り組んでいます。各アイコンは、20x20 ピクセルの小さなボックスです。各ボックスの上にカーソルを移動すると、別の div の html が変更され、各クラスの値内に「隠されている」情報が中継されます。

私のコードは次のようになります。

$('.City_Palace').mousemove(function(e) {
            e.stopPropagation();
            var x = Math.floor((e.pageX - this.offsetLeft +  $("#scrollWindow").scrollLeft()) / tileSize);
            var y = Math.floor((e.pageY - this.offsetTop + $("#scrollWindow").scrollTop())/tileSize);
            var text = $('#WorldMapMessage').html();
            alert(e.target.className); 
            $('#WorldMapMessage').html(x +', '+ y + " " + $(this).val());

           // alert($(this).val());
        });

このコードは現在、イベントの原因のクラス名を含む警告ボックスを表示します。ただし、適切なテキストを表示するには、.City_Palace クラスのどのインスタンスがイベントをトリガーしたかを正確に知る必要があります。クラスの代わりに ID を使用していた場合、これは些細なことですが、そのためにはクラスを使用し、どのクラスがイベントを呼び出しているかを知る必要があります。

助けてくれてありがとう!

4

1 に答える 1

1

あなたはすでにこれをやっているようです。

に渡す関数内では、ホバーされている要素の特定のインスタンスを参照する に.mousemove()アクセスできます。thisこれを使用して、要素の特定のインスタンスから必要なその他のものを取得できます。例えば:

$('.City_Palace').mousemove(function(e) {

  // $(this) is the specific instance of .City_Palace that's being hovered on.
  alert($(this).attr("class")); // Alert the class name.

});
于 2013-06-17T02:38:41.440 に答える