• ベストアンサー

一つのページで二つ動かすのはできないですか

画像を次々に変えていくJavaScriptを一つのページで2個使いたいのですが、二つ使うと、表示されません。これでは無理なのでしょうか? 無理だったら、他に何かいい方法があれば教えてください。 これを使いました。よろしくお願いします。 <HTML> <HEAD> <TITLE></TITLE> <SCRIPT language="JavaScript"> <!-- num = 18; nme = "img" exp = "gif" cnt = 0; function changeImage() { cnt++; cnt %= num; document.img.src = nme + cnt + "." + exp; } //--> </SCRIPT> </HEAD> <BODY bgcolor="#ffffff" onLoad="setInterval('changeImage()',500)"> <BR><BR> <IMG src="img1.gif" name="img" border="0"> </BODY> </HTML>

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

  • ベストアンサー
  • leap_day
  • ベストアンサー率60% (338/561)
回答No.1

function changeImage() { cnt++; cnt %= num; document.img.src = nme + cnt + "." + exp; document.img0.src = nme + cnt + "." + exp; } ・・・・ ・・・・ <IMG src="img1.gif" name="img" border="0"> <IMG src="img1.gif" name="img0" border="0"> とすれば2つの(同じ)画像を同時にかえられるようです 2つの画像を別にするなら num = 18; nme = "img" nme0 = "img0" exp = "gif" cnt = 0; function changeImage() { cnt++; cnt %= num; document.img.src = nme + cnt + "." + exp; document.img0.src = nme0 + cnt + "." + exp; } って感じにすればいいです あとはまぁ必要なところをちょこちょこっと書き換えてください(^^)

jacky521
質問者

お礼

ありがとうございます。大変、助かりました! もっと勉強しないとだめだなあと思いました・・・ 本当にありがとうございました。

その他の回答 (1)

  • hkd9001
  • ベストアンサー率48% (99/204)
回答No.2

jacky521 さん、こんばんは。 さてJavaScriptを2つ使いたい、というご質問ですね。 もし、私の解釈が間違っていたならばご容赦願いたいのですが… 「function changeImage()」と同じようなfunctionが もうひとつあって、できれば それぞれを異なる周期で動かしたい」 ということではないか?と考えます。もし そうであれば…  たとえば2つのfunction A,Bがあり、Aは500ms、Bは300msの周期で動かしたいとします。まず、BODY タグにある setIntervalの時間の値を100ms にします。そして、Aには「5回呼ばれるごとに作動」、Bには「3回呼ばれるごとに作動」となるように(if文や変数などを追加して)ロジックを組みこんでやれば、異なる周期で動くようになるのではないかな?と思います。  なお上記の setInterval の時間の値を 100ms にした理由は、AB両functionの周期の最大公約数だからです。 …ご健闘を祈ります。では、おやすみなさい!

jacky521
質問者

お礼

とても丁寧な説明、ありがとうございました! 大変、勉強になりました。

関連するQ&A