setTimeoutでIEだと、倍のスピードで進んでしまうのですが
[上に]
[前に]
[次に]
かが
[E-Mail]
1999/08/19(木) 16:18:51
JavaScriptで連番のjpg画像を差し替えて
アニメのようにしたくて
<SCRIPT LANGUAGE="JavaScript">
a=1;
function watch() {
setTimeout('watch()', 1000);
a++}
というようなスクリプトで、
NN4.5では、ほぼ1000ms=1秒になるのですが、
IE4.5でテストしたところ倍の0.5秒ぐらいで進んでしまうのですが
これはIEのバグなのでしょうか?
そうだとしたら、バージョンに共通したバグなのでしょうか?
どなたか、何でもいいので心当たりのある方教えて下さい
Tmb
1999/08/19(木) 16:47:22
関係ないかもしれませんが,これって再帰呼び出しされてますよね?
setTimeoutは使ったことないんですが,同様の使い方してるスクリプトを
以前にも見たことがあって気になってました。意味もなく再帰呼び出しするのって
どうかと思いますけど。
<HEAD>
<SCRIPT language="javascript">
function watch(){
a++;
[画像書き換え]
}
・・・
</SCRIPT></HEAD>
<BODY>
<SCRIPT language="javascript">
a=1;
setTimeout('watch()',1000);
・・・
みたいな形式ではどうですか?
Tmb
1999/08/19(木) 16:50:22
あーっと,失礼。setIntervalと勘違いしておりました。
大変失礼いたしました。上のは忘れてやってください m(_ _)m
かが
[E-Mail]
1999/08/19(木) 17:03:43
Tmbさん、反応ありがとうございます。
[画像書き換え]と、<head>内だという部分を
書き忘れていたのでその補足だけでもありがたいです
ひきつづき、情報お待ちしております
みんこ
1999/08/19(木) 17:20:43
んーと。
http://www.cmp-lab.or.jp/~redcap/WWW/html/JV-ANME.htm
IE4.5は使ってないし1000=1秒になると思いこんでるので
何が悪いんかわかんないですが一応比べてみては?
うちでもこんなことやってますけど、これも早いのかな。
http://www.incl.ne.jp/~aqua/event/expo/sec/index.html
Tmb
1999/08/19(木) 17:28:56
単なる思いつきなんですが(懲りもせず (^^;;)
watch()内でsetTimeoutを記述する場所は影響しないのでしょうか?
関数の最初に書くのと最後に書くのでは。
かが
[E-Mail]
1999/08/19(木) 17:44:21
[[解決]]
すいません、解決しました。
ここの書き込みには書かなかった部分で、
watch()を、2重に起動させていました。
それが、NNはそれを無視してくれたみたいでした。
イージーなミスです。お恥ずかしい。
この書き込みで、そんなバグが?と混乱なさった方
本当に申し訳ありません
又、Tmbさん、みんこさんありがとうございました。
何かあったときには又、よろしくお願いします。
zizz...
[HomePage]
1999/08/19(木) 18:21:08
watchという名前の関数を定義するのはやめた方がいいです。
Objectオブジェクトにwatchというメソッドがあり紛らわしい。
実際Netscape 4.61 [en]で、watchという関数を呼びだそうとするとエラーが出ました。
hoge.watch(arg1, arg2)
という形ではなく、
watch(arg1, arg2)
と書いてみた場合は、Windowオブジェクトのwatchメソッドと認識されないようです。
window.watch(...)なら可能でした。
../199907/99070152.htm
かが
[E-Mail]
1999/08/20(金) 11:18:42
一応、くどいですが後の人のために
どういうミスだったかを書いておきます
<head>のスクリプト内で
watch();と、watchを呼び出していたのに
<body onLoad="watch()">
と、重複して呼び出してしまっていたのでした。
それをNNだと、見逃してくれ、
IEでは几帳面に2度呼び出してしまっていたのです。
こういう、ミスって単純な事ですが見落とすとはまってしまうので
で、そのwatchですが、念のため他の名前に替えておきました。
zizz...さん
ありがとうございました
[上に]
[前に]
[次に]