javascriptで<body onload="setInterval('aa()',6000);">

として、marqueeタグを使用して、
文字を流しているのですが、
onload時に文字がブラウザ上少しだけ
止まってしまいます。
これはどうしたらいいのでしょうか?
ブラウザはfirefoxでOSはturbolinuxで
実行環境は、Xwindowから別サーバに置いて
あるページを参照しています。
わかるでしょうか?

回答の条件
  • 1人5回まで
  • 登録:2007/05/18 11:47:58
  • 終了:2007/05/18 14:05:00

回答(4件)

id:jack_sonic No.1

じゃっくそにっく回答回数123ベストアンサー獲得回数252007/05/18 12:03:20

ポイント23pt

setInterval("処理",時間)は、第一引数で指定した処理はsetInterval()自体の呼び出し時には実行せず、

第二引数で指定した時間が経ってはじめて一番最初の呼び出しが実行されるので、

もしaa()が一番最初に実行されていないことが原因でしたら、

<body onload="aa();setInterval('aa()',6000);">

とすると呼び出し時に最初に実行されるようになります。

id:hopefully

前回のsleep関数で処理をやっているのですが

サーバー側のCPU負荷は、半分以下になったのですが、

クライアント側のブラウザのCPU負荷が、

onload時に70%などになってしまいます。

これの解消方法はわかりますか?

2007/05/18 12:29:10
id:lains_you No.2

lains_you回答回数50ベストアンサー獲得回数102007/05/18 12:04:36

ポイント23pt

 onload="setInterval('aa()',6000);"では、最初のaa()はonloadイベント発生から6秒後に実行されると思います。

 onloadイベント発生直後にもaa()を実行したいのであれば、onload="aa();setInterval('aa()',6000);"のように、最初にaa()を実行されるとよいと思います。

id:hopefully

前回のsleep関数で処理をやっているのですが

サーバー側のCPU負荷は、半分以下になったのですが、

クライアント側のブラウザのCPU負荷が、

onload時に70%などになってしまいます。

これの解消方法はわかりますか?

2007/05/18 12:29:14
id:daichan330 No.3

ʕ •ᴥ•ʔ<だ 回答回数565ベストアンサー獲得回数1062007/05/18 12:07:47

ポイント22pt

javascript では、sleep/wait などの機構が無く、setInterval/setTimeout関数では CPUループしてしまうため、CPU資源をかなり使用します。止まってしまうのはその影響ではないかと思います。


同様の質問として以下があります。参考にされてはいかがでしょうか。

http://q.hatena.ne.jp/1179364449

id:hopefully

前回のsleep関数で処理をやっているのですが

サーバー側のCPU負荷は、半分以下になったのですが、

クライアント側のブラウザのCPU負荷が、

onload時に70%などになってしまいます。

これの解消方法はわかりますか?

2007/05/18 12:29:18
id:jack_sonic No.4

じゃっくそにっく回答回数123ベストアンサー獲得回数252007/05/18 13:48:28

ポイント22pt
>前回のsleep関数で処理をやっているのですが
>サーバー側のCPU負荷は、半分以下になったのですが、
>クライアント側のブラウザのCPU負荷が、
>onload時に70%などになってしまいます。
>これの解消方法はわかりますか?

sleep関数といっても、関数内で

for/whileの処理ループを使って待機する場合は、

JavaScriptが処理能力を占有して

応答能力にCPU能力をまわせないためにCPU負荷が上がります。

そういった処理ループを使わない方法でやる必要があります。

setTimeout,setIntervalでは、処理ループではなく

タイマーを使うため、

for/while処理ループ式より負荷を下げる方法があります。

具体的にどういうコードでやっているのか

載せたほうがいいかと思われます。(必要があれば別途質問で)

id:hopefully

では別で質問を立てますのでよろしくお願い致します。

2007/05/18 13:58:54

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません