プロが教えるわが家の防犯対策術!

こんばんは。
複数のfunctionを実行するにはどうしたらいいんでしょうか?
後、追加でなんですが、areaにhref属性を使わず(#を指定すると、ページの上に戻ってしまうため)にポインタを指(リンクに乗せたときのやつです)にするにはどうすればいいんでしょうか?

インラインフレーム1
<script>
<!--
function change1(picname) {
parent.frames['インラインフレーム2'].document.getElementById("ID1").src = picname;
}
function change2(picname) {
parent.frames['インラインフレーム2'].document.getElementById("ID2").src = picname;
}
・・・
function change3(picname) {
parent.frames['インラインフレーム2'].document.getElementById("ID8").src = picname;
}
//-->
</script>
上のfunctionを複数実行したいんです。(全てではありません)
<map name="">
<area shape="rect" coords="0,0,0,0" alt="" onclick="change1('ファイル')">
・・・
<area shape="rect" coords="0,0,0,0" alt="" onclick="change8('ファイル')">
</map>

インラインフレーム2
<div style="position: absolute; top: 0px; left: 0px; z-index: 0;"><img src="ファイル" id=ID1 alt="" border="0"></div>
<div style="position: absolute; top: 0px; left: 0px; z-index: 1;"><img src="ファイル" id=ID2 alt="" border="0"></div>
<div style="position: absolute; top: 0px; left: 0px; z-index: 2;"><img src="ファイル" id=ID3 alt="" border="0"></div>
・・・
<div style="position: absolute; top: 0px; left: 0px; z-index: 8;"><img src="ファイル" id=ID8="0"></div>
どうでしょう?
自分なりに試してみたんですが、成功しませんでした。(onclickにいっぱいくっつけたりとか・・・)
どうかお願いします。

A 回答 (2件)

<area href="javascript: void(0)" shape="rect" coords="0,0,0,0" alt="" onclick="change1('ファイル'),change2('ファイル'),change3('ファイル')">



複数のfunctionは、カンマ区切りで実行されます!

リンクさせたくないのであれば
上にもかきましたが
href="javascript: void(0)"

これで大丈夫ですよ!!
    • good
    • 0
この回答へのお礼

ありがとうございます!
カンマで区切るだけだったんですね・・・w
問題なく動きましたよ!本当にありがとうございました!!

お礼日時:2008/12/12 20:47

簡単にするために、まず、functionもまとめてしまいましょう。


現状では、画像のファイルパスが引数になっていますが、変更するエレメントの指定も引数にしてしまえば、以下のひとつで済んでしまいます。
function change0(idn.picname){
parent.frames['インラインフレーム2'].document.getElementById(idn).src = picname;
}
呼び出す側は onclick="change0('ID1','ファイル')" などとなります。

処理を2種類以上行いたい場合は、
 onclick="change0('ID1','ファイル1'); change0('ID2','ファイル2');"
などのようにしてあげればよいです。

他にもいろいろ方法は考えられるけれど、一例です。
(関係ないけど、質問文はいろんなところが全角文字だけど、
 それは質問文用ということですよね?)
    • good
    • 0
この回答へのお礼

functionのまとめかたも教えていただいてとてもうれしいです!
ちょっとごちゃごちゃしていたのがきになっていたので・・・。
複数処理はカンマで区切るんですね!しっかりと覚えておきます。
>>(関係ないけど、質問文はいろんなところが全角文字だけど、
 それは質問文用ということですよね?)
そうですwあまり気にしないでくださいませ。
本当にありがとうございました!

お礼日時:2008/12/12 20:50

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