dポイントプレゼントキャンペーン実施中!

お尋ねします。
適当なIDを振ったaタグ内の各プロパティを画像の切り替えに応じて
書き換えるスクリプトを試しています。
srcや画像の切り替えなどはうまくいくのですが、
onclick内だけうまく書き換えができません。

onclickはイベントハンドラだから無理という気がするのですが、
なにか方法はないでしょうか。

以下のようなスクリプトを書いています。

myImageName = 0;
myImageLink = 1;
myImageTarget = 2;
myclick = 3;

myImage = new Array();
myImage[0]= new Array("01.jpg","ttp://aa.com/","_top","alert('HELLO')");
myImage[1]= new Array("02.gif","ttp://bb.com/","_blank","alert('HI')");

i = 0;

function aaa(){
document.getElementById("banner").src = myImage[i][myImageName];
document.getElementById("banner").href =myImage[i][myImageLink];
document.getElementById("banner").target =myImage[i][myImageTarget];
document.getElementById("banner").onclick =myImage[i][myclick];
}
※あとはタイマー用のスクリプトが続きます。

記述が間違っている気はするのですが、
解決策がわかりません。
よろしくお願いいたします。

A 回答 (2件)

Function関数で文字列を関数オブジェクトにしてやります。


document.getElementById("banner").onclick
= new Function(myImage[i][myclick]);
    • good
    • 0
この回答へのお礼

ちょっと苦戦しましたが、できました!
関数にしないといけないんですね。
勉強になりました。
ありがとうございました。

お礼日時:2008/04/03 19:43

文字列にせず関数を渡す。



myImage[0]= new Array("01.jpg","http://aa.com/","_top",function(){ alert('HELLO')});
myImage[1]= new Array("02.gif","http://bb.com/","_blank",function(){ alert('HI')});
    • good
    • 0
この回答へのお礼

この方法でもできました!
いずれにしても文字列にするから動かないということですね。
ありがとうございました。

お礼日時:2008/04/03 19:44

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