- ベストアンサー
複数の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にいっぱいくっつけたりとか・・・) どうかお願いします。
- みんなの回答 (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');" などのようにしてあげればよいです。 他にもいろいろ方法は考えられるけれど、一例です。 (関係ないけど、質問文はいろんなところが全角文字だけど、 それは質問文用ということですよね?)
その他の回答 (1)
- chara0-m
- ベストアンサー率50% (3/6)
<area href="javascript: void(0)" shape="rect" coords="0,0,0,0" alt="" onclick="change1('ファイル'),change2('ファイル'),change3('ファイル')"> 複数のfunctionは、カンマ区切りで実行されます! リンクさせたくないのであれば 上にもかきましたが href="javascript: void(0)" これで大丈夫ですよ!!
お礼
ありがとうございます! カンマで区切るだけだったんですね・・・w 問題なく動きましたよ!本当にありがとうございました!!
お礼
functionのまとめかたも教えていただいてとてもうれしいです! ちょっとごちゃごちゃしていたのがきになっていたので・・・。 複数処理はカンマで区切るんですね!しっかりと覚えておきます。 >>(関係ないけど、質問文はいろんなところが全角文字だけど、 それは質問文用ということですよね?) そうですwあまり気にしないでくださいませ。 本当にありがとうございました!