• ベストアンサー

複数のfunctionをonclickで実行するには?

こんばんは。 複数の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にいっぱいくっつけたりとか・・・) どうかお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

簡単にするために、まず、functionもまとめてしまいましょう。 現状では、画像のファイルパスが引数になっていますが、変更するエレメントの指定も引数にしてしまえば、以下のひとつで済んでしまいます。 function change0(idn.picname){ parent.frames['インラインフレーム2'].document.getElementById(idn).src = picname; } 呼び出す側は onclick="change0('ID1','ファイル')" などとなります。 処理を2種類以上行いたい場合は、  onclick="change0('ID1','ファイル1'); change0('ID2','ファイル2');" などのようにしてあげればよいです。 他にもいろいろ方法は考えられるけれど、一例です。 (関係ないけど、質問文はいろんなところが全角文字だけど、  それは質問文用ということですよね?)

mochikimuc
質問者

お礼

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

その他の回答 (1)

  • chara0-m
  • ベストアンサー率50% (3/6)
回答No.1

<area href="javascript: void(0)" shape="rect" coords="0,0,0,0" alt="" onclick="change1('ファイル'),change2('ファイル'),change3('ファイル')"> 複数のfunctionは、カンマ区切りで実行されます! リンクさせたくないのであれば 上にもかきましたが href="javascript: void(0)" これで大丈夫ですよ!!

mochikimuc
質問者

お礼

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

関連するQ&A