みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

innerHTMLによるアニメーションGIFの表示について

おたずねします。
3つのアニメーションGIFを順に表示させて、最後まで行くと最初の画像に戻るように記述しました。
サンプルページURL
http://oreryu.sakura.ne.jp/sample/gif_out.html

IE6.0では問題ないのですが、Firefox2.0で表示すると、
2周目以降の表示がおかしくなります。
具体的には各アニメーションの最後のフレームが指定時間表示され、
次の画像に遷移するので、全くアニメーションが行われません。
また、どの画像で不具合が起こるかが限定されないようです。
ブラウザの問題かと思い、
キャッシュしない記述なども試しましたがうまくいきませんでした。

外部javascriptのソース

banner= new Array();

banner[0]=('<a href="#"><img src="1-1.gif" alt="" width="375" height="125" border="0"></a>');
banner[1]=('<a href="#"><img src="2-1.gif" alt="" width="375" height="125" border="0"></a>');
banner[2]=('<a href="#"><img src="3-1.gif" alt="" width="375" height="125" border="0"></a>')

time= new Array();
//バナーの表示時間 上から表示順
time[0]=(5000); 
time[1]=(5000); 
time[2]=(5000); 


var menu=0;

function bchange(){
document.getElementById('banner_change').innerHTML=(banner[menu]);
timerID = setTimeout("bchange()",time[menu]);
if(menu == banner.length-1){
menu=0;
}else{
menu++;
}
}

HTMlファイルのソース
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title></title>
<script language="javascript" type="text/javascript" src="banner_chg.js"></script>
</head>
<body>
<span id="banner_change">
<script language=javascript>
<!--
bchange();
//-->
</script>
</span>
</body>
</html>

できれば上記のinnerHTMLを使用してタグを書き換えるやり方で、
正常に表示できる方法を探しています。

御存知の方がいれば教えてください。
よろしくお願いいたします。

投稿日時 - 2008-03-27 15:46:23

QNo.3899381

困ってます

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

Foxfire2.0.0.13では、問題なく動いています。

投稿日時 - 2008-03-27 15:58:39

お礼

ありがとうございます。
もしかして私の環境だけで発生する現象かと疑い、
アドオンの中の「Web Developer」を無効にしたところ、
なんと正常に表示されるようになりました。

アドオンツールが表示に影響を与えるとは思いつきませんでした。
無事に解決してよかったです。

投稿日時 - 2008-03-27 17:37:59

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問