0

私のループでは、ID は x で正しく割り当てられますが、x で配列関数を割り当てようとすると、「このメソッドは未定義です」というエラーがスローされます。このタイプの動的なマウスオーバーを正しく構造化する方法を考えていましたか? どんな助けでも素晴らしいでしょう!どうもありがとう、ジョー

for (x = 0; x < mapEastData.length; x++) {
    $('#marker' + x).on({
        mouseenter: function () {
            mapEastMarkers[x].setVisible(true);
        },
        mouseleave: function () {
            mapEastMarkers[x].setVisible(false);
        }
    })
}
4

1 に答える 1

2

ホバーをトリガーするには、id ではなくクラスを使用することを選択します。

したがってmarker-class、ホバーセレクターなどのクラスを使用してください。

次に、 mouseenter / mouseleave 関数で、次のようなものを使用して、その正確な要素の id にアクセスできるはずです。 $(this).attr('id').replace("marker" , "")

その後、置換によって ID がクリーンアップされるため、ID 番号が取得されます。

これがあなたにとって理にかなっていることを願っています。現在のコードの問題は、mouseenter/leave 関数が var X が何であるかを認識していないことだと思います。現在のアプローチに固執したい場合は、 x パラメータをそれらの関数に渡す必要があるかもしれません。

于 2013-01-14T13:19:57.460 に答える