WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:setTimeoutの使い方がわかりません

鯊 [WriteDate : Fri Apr 27 22:52:52 2001]

setTimeout()を使うと一定時間毎に処理をしてくれる
とかいてあったんですが・・・・・
私が書くと2回目からエラーになるんです・・・
どうしてですか・・・・?


綾小路 [MAIL] [URL] [WriteDate : Sat Apr 28 00:04:14 2001]

鯊さん>
インターバル処理を考えてらっしゃるんでしょうか??
でしたら
setInterval("実行したいファンクション名",1000*秒数)
で処理した方がよろしいのでは(^^ゞ

的はずれでしたら、申し訳ございませんm(_ _)m


Nobu3 [MAIL] [URL] [WriteDate : Sat Apr 28 04:25:23 2001]

setTimeout()は「一定時間後」に処理するものです。

http://www.age.ne.jp/x/nobu3/js/sample/sjs021.htm
setTimeout()とsetInterval()について、以前書いたことがあるので、よければご覧ください。


鯊 [WriteDate : Sat Apr 28 10:35:36 2001]

document.writeが悪かったようです・・・
直接本文にsetTimeで書くことはできないんですか・・・?

もう1つ・・よくわかんないんですがTimeoutのID っていうのは変数か何かですか・・・・?


通りすがり [WriteDate : Sat Apr 28 12:11:38 2001]

いつも参考にさせて頂いてます。
具体的にどういったソースを書いているのか(差し支えない範囲で)提示した方が早いのではないでしょうか。


綾小路 [MAIL] [URL] [WriteDate : Sun Apr 29 00:38:24 2001]

<Body onLoad="clear.Interval();">
<Script Language=JAVAScript>
setInterval('処理、又は関数名',秒数 * 1000);
<Script>

こうすると、一定間隔での処理が出来ます。
Timoutや、IntervalのIDに付いてですが、これは、複数のタイムアウト処理や、インターバル処理を埋め込んだ場合、特定の処理だけ時間をリセットするときなどに必要となってきます。

<Body onLoad="clear.Interval(myID1);">
<Script Language=JAVAScript>
myID0=setInterval('処理、又は関数名',秒数 * 1000);
myID1=setInterval('処理、又は関数名',秒数 * 1000);
<Script>

あくまでサンプルなので動くかどうかは保証の限りではないのですが、イメージ的には上のように成るかと思います。

>document.writeが悪かったようです・・・
直接、命令も書けますが、クオート/ダブルクオートに気を付けなければ成らないかと思います。

setTimeout("document.write("テスト")",2000); ←駄目な文例
setTimeout("document.write(\"テスト\")",2000); ←動く文例
setTimeout('document.write("テスト")',2000);  ←動く文例

こんな感じになるかと思います。(Interval処理も同じ)


バギンズ [WriteDate : Sun Apr 29 01:18:02 2001]

>綾小路さん
>setTimeout("document.write(\"テスト\")",2000); ←動く文例
>setTimeout('document.write("テスト")',2000);  ←動く文例
その例は、カレントのページに書くって事ですか?
他のフレームか他のウィンドウにした方がいいと思うのですが...


Nobu3 [MAIL] [URL] [WriteDate : Sun Apr 29 01:46:24 2001]

1度レイアウトが確定したら、document.write()は使えなかったような。

>他のフレームか他のウィンドウにした方がいいと思うのですが...
これならできた気がする。

あと、「clear.Interval()」じゃなく「clearInterval()」(ドットは不要)。

具体的に何をしたいのか書くと、他の解も得られるかもね。


andi [WriteDate : Sun Apr 29 02:14:27 2001]

そう言えばこういう書き方もありますね。
function hoge(){
   setTimeout("hoge()",1000);
}


Nobu3 [MAIL] [URL] [WriteDate : Sun Apr 29 02:41:10 2001]

clearTimeout()を使うなら、こんなかんじかな?

<script type="text/javascript">
var timerID = 0;
function hoge(){
  clearTimeout(timerID);
  処理(たとえば、ステータスバーに時間を表示とか)
  timerID = setTimeout("hoge()", 1000);
}
</script>


綾小路 [MAIL] [URL] [WriteDate : Sun Apr 29 06:46:02 2001]

バギンズさん・Nobu3さん・andiさん>
訂正とご指摘ありがとうございますm(_ _)m


鯊 [WriteDate : Sun Apr 29 10:34:29 2001]

別にすごいことをしようと思ったわけではなく・・・・
ただ時間をはかって表示したかったんです・・・
ステータスバーに・・・というのはよくあるんで
じゃあ文章の間にはできないのかな・・・と

回答してくれた方 ありがとうございます・・・
とても参考になりました

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]
ChaichanPAPA's World