2

このページでは、マウスを上に置くと変化する多くの画像リンクを使用しています。ここに画像を変更する機能があります:

    function hoverImg(element) {
        if (element.src.indexOf("_hover.png") == -1) {
            element.src = element.src.replace(".png","_hover.png");
        } else {
            element.src = element.src.replace("_hover.png",".png");
        }
    }

ただし、各要素の各onmouseoverおよびonmouseoutイベントの関数のパラメーターとして「this」を指定する必要があります。関数と呼ばれる要素を知る方法はありますか?私が言ったように、ページごとにこれらの小さな画像が100枚ある可能性があり、いずれにせよページは最終的にデータベースデータから生成されるため、関数のコピーはオプションではありません。毎回「これ」を追加するのは非常に冗長なようです...

4

2 に答える 2

2

関数を試してみwindow.event.srcElementてください。これは、イベントハンドラーから直接呼び出されることを前提としています。

于 2010-12-18T01:33:38.090 に答える
2

2つのオプション(例としてクリック):

htmlから:onclick="javascript:hoverImg(this)"

またはコードから:(x.onclick = hoverImg後でthisxでオブジェクトに「呼び出される」ため、コールバックでOKに設定します)。

必要なものを取得するのに役立つ「動作」JavaScriptライブラリ(またはjQuery-おそらくjQuery.liveも)もいくつかあります。

于 2010-12-18T01:27:54.437 に答える