※ ChatGPTを利用し、要約された質問です(原文:javascriptでループをやめたい)
JavaScriptでループをやめたい
このQ&Aのポイント
JavaScript初心者の質問です。JavaScriptで画像をループ表示させていますが、最後の画像になった時にループを止めたいです。現在は最初の画像に戻り、永遠とループしてしまいます。どうすれば最後の画像でループが止まるようになるでしょうか?
質問者はJavaScriptのループ表示について助言を求めています。現在、画像が順番に表示されていますが、最後の画像になった時にループを終了し、最後の画像が表示されたままにしたいと考えています。どのように実現すれば良いでしょうか?
JavaScriptで画像のループ表示をしている質問者ですが、最後の画像になった時にループを止めたいと思っています。現在は最初の画像に戻り、無限にループしてしまいます。どのようにすれば最後の画像でループが終了し、表示が停止するようになるでしょうか?
javascript初心者です。
下記の様にソースが書いてあります。
画像が表示され、順番に表示されるのはいいのですが、
最後の画像になった時に、最初の画像に戻り、永遠と画像がループし、
表示されてしまいます。最後の画像になった時に、表示を止め、
最後の画像のまま表示を止めたいのですが、わかりません。
ご教示お願いいたします。
<SCRIPT language="JavaScript">
<!--
FITime=1;
FOTime=8;
n=10;
flg=1;
num=0;
cnt=7;
Fna="./img";
Fexp="jpg";
// 以下スクリプト本体
function fade(img){
if(flg==1){
document.images[img].src=Fna+num%cnt+"."+Fexp;
if(n<=0) flg=0;
document.images[img].filters['alpha'].opacity=n;
if(n>=99)speed=0.05;else speed=5;
n-=speed;
setTimeout("fade('"+img+"')",FOTime);
}
else{
document.images[img].src=Fna+(num+1)%cnt+"."+Fexp;
document.images[img].filters['alpha'].opacity=n;
if(n>=98)speed=0.05;else speed=2;
n+=speed;
if(n>=100) {flg=1;++num;if(num%cnt==0){num=0;}}
setTimeout("fade('"+img+"')",FITime);
}
}
//-->
</SCRIPT>
</head>
<img src="img0.jpg" name="img" style="filter:alpha(opacity=100)">
補足
再度のご質問で申し訳ございません。 上記のように記入したところ、思っていた通り、動きました。 ありがとうございます。 そして、おっしゃるとおり、ファイヤーフォックスなどでは動きません。 全ての環境に適応するようには、どのように書き直せばよろしいでしょうか。 ご教示お願いいたします。