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

1シートにJavaScriptを2つ使うことは出来ないのでしょうか?

画像が点滅するJavaScript

と画像が入れ替わるJavaScript

両方を1シートで使用できませんか?

この部分は入力できるのですが

<SCRIPT language="JavaScript">
<!--
num = 2; // 入れ替える画像の枚数(最初の画像も含める)
nme = "../img/img" // 画像のディレクトリとファイル名の数字と拡張子より前の部分
exp = "jpg" // 拡張子
cnt = 0;
function changeImage() {
cnt++;
cnt %= num;
document.img.src = nme + cnt + "." + exp;
}
//-->

勿論、点滅のJavaScriptも記載済みです。

ところが、

<BODY onload="blink()">
<BODY bgcolor="#ffffff" onLoad="setInterval('changeImage()',1000)">

このように並列して書くとエラーになります。
2つのavaScriptは使用できないのでしょうか?

精通されている方、居られましたら宜しくご指導願います。

A 回答 (3件)

JavaScriptコードじゃないただのHTML提示されてもわからんよ・・・。


とりあえず、そもそもJavaScriptの知識が足りてない。

><body onload="blink()";setInterval('changeImage()',1030);">
>と書くとエラーにはなりませんが、画像が表示されません。
onload="blink()"←ここのダブルクォーテーションいらへん

><body onload="setInterval('changeImage(blink)',1030);">
>ってことですかね?
違う。
繰り返し処理をchangeImage()に組み込んで書き直せってことだね。
setTimeout使うほうがいい気がするけど。

function changeImage() {
tempId = setInterval(
function(){
cnt++;
cnt %= num;
document.img.src = nme + cnt + "." + exp;
},1000
);
}

動作確認はしてない。
    • good
    • 0
この回答へのお礼

なるほど、一度試してみます

お礼日時:2012/01/09 14:34

「点滅のJavaScriptも記載済みです。

」とのこと。それがおそらく「blink()」のことですね。
でしたら、その「blink()」の中身をそのまま、「changeImage()」の中に移動して下さい。
二つ又はそれ以上の動作をしたければ、そしてそれが同じタイミングで(たとえばonloadで)動作させたければ、一つのfunctionの中にいくつでも書けば良いだけのことです。
ただ、ご質問の動作の場合、setintervalで1秒ごとに画像を切り替えるなら、この命令はfunction changeImage()の中に書いてしまわないと変なことになりそうですが。

この回答への補足

<LINK rel="stylesheet" href="css/top.css" type="text/css">
<script type="text/javascript" src="js/topmuv.js"></script>

<SCRIPT language="JavaScript">
<!--
num = 2; //
nme = "img/img" //
exp = "jpg" //
cnt = 0;
function changeImage() {
cnt++;
cnt %= num;
document.img.src = nme + cnt + "." + exp;
}
//-->

</script></HEAD>
<body onload="blink()";setInterval('changeImage()',1030);">



<a><IMG src="src="img/img0.jpg" name="img" border="0" alt="どうして・・・"></a>

補足日時:2012/01/07 17:53
    • good
    • 0
この回答へのお礼

<body onload="setInterval('changeImage(blink)',1030);">
ってことですかね?

お礼日時:2012/01/07 17:54

そもそもbody複数書いている時点でおかしい。


<body onload="blink();setInterval('changeImage()',1000);">
てかけば両方読み込むス。
(できればsetIntervalもchangeImageに含めたほうがいい気もするし、不測の場合にループ抜ける処理も入れたほうがいいけど、質問事項とは違うので・・・)

関数それぞれのコンフリクトはblinkが書いてないので不明。
オブジェクトを消したりする内容で書いてあれば、書き換え対象がタイミングでは消えたりするからエラーすることもある。
あとは変数がぶつかったりしてないかね。

この回答への補足

<LINK rel="stylesheet" href="css/top.css" type="text/css">
<script type="text/javascript" src="js/topmuv.js"></script>

<SCRIPT language="JavaScript">
<!--
num = 2; //
nme = "img/img" //
exp = "jpg" //
cnt = 0;
function changeImage() {
cnt++;
cnt %= num;
document.img.src = nme + cnt + "." + exp;
}
//-->

</script></HEAD>
<body onload="blink()";setInterval('changeImage()',1030);">



<a><IMG src="src="img/img0.jpg" name="img" border="0" alt="どうして・・・"></a>

補足日時:2012/01/07 17:51
    • good
    • 0
この回答へのお礼

<body onload="blink()";setInterval('changeImage()',1030);">
と書くとエラーにはなりませんが、画像が表示されません。

お礼日時:2012/01/07 17:51

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