重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

お世話になります。
<img src="hoge.gif" id="movImgID1" onclick="GoMoveImg(1,-1)">
で、hoge.gifをクリックすると、この画像が移動するようにしました。
例えば(100,100)->(200,200)
に移動します。
この(200,200)へ移動が完了したとき、
onclick="GoMoveImg(1,0)"
などというように、onclickで指定する関数を変えることはできないものでしょうか。
移動が完了した時点は、スクリプト上でとらえています。
alert("移動完了");
で、その時点を確認しています。
なにとぞよろしくお願いいたします。

A 回答 (2件)

if( (200,200)へ移動が完了したとき ){


var ID1 = document.getElementById("movImgID1");
ID1.setAttribute("onclick", "GoMoveImg(1,0)");
// ID1.setAttribute("onclick", function(){ GoMoveImg(1,0); });
}
    • good
    • 0
この回答へのお礼

BLUEPIXYさん、ありがとうございます。
ID1.setAttribute("onclick", function(){ GoMoveImg(1,0); });
で、できました。
このような記載ができるんですね。
どうもありがとうございました。

お礼日時:2006/05/26 20:09

まずグローバル変数でふたつのパラメータ用の変数を用意いしてください。


初期値は 1 と -1。
次に GoMoveImgMain とでも名前を付けて関数を作ってください。
パラメータはなしで。
この関数からは GoMoveImg を呼び出します。
> alert("移動完了");
この時点で先程の変数の値をそれぞれ 1 と 0 に変更します。
そして onclick からは GoMoveImg を呼び出すようにします。
具体的に書くとこうなります。

var p1 = 1;
var p2 = -1;

function GoMoveImgMain()
{
GoMoveImg( p1, p2 );
}

function xxxx() ←名前がわからないので適当
{
alert("移動完了");
p1 = 1;
p2 = 0;
}

<img src="hoge.gif" id="movImgID1" onclick="GoMoveImgMain()">

こういう感じでいかがでしょうか。
    • good
    • 0
この回答へのお礼

ttyp03さん、ありがとうございます。
こんなアイディアがあるものかと、感心しました。
どうも、ありがとうございました。

お礼日時:2006/05/26 20:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!