スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--------(--)
 

引数有りのsetTimeout()について

2010.10/25

見にくかったので,またテンプレートの変更です!

javascriptでは一定回数の繰り返しをよく用いると思います。たとえば少しずつ画像のサイズを大きくしてみたり,文字を徐々に移動してみたり。これらを行うときに良く使うのが「setTimeout()」と「setInterval()」だと思います。もちろんfor文などで行うことも可能ですが,今回は先の2つについてだけにしておきましょう!


自分はsetTimeout()を用いたプログラムを一週間前くらいから作ろうと思って作業してましたが,その際にガッツリ迷路に迷い込んでしまいましたw


自分が迷い込んだ迷路はsetTimeout()に引数を用いる際の書き方です。


だいたいのサイトにはこう書いてあります。


setTimeout("関数名()",待ち時間); 実際はこんな感じ→setTimeout("Fn()",sec);


まさしくこれでできます。しかし,残念ながらこれでは引数を扱えません。次に調べてみるとこんな風な書き方のサイトを発見!


setTimeout("関数名(引数)",時間); 実際はこんな感じ→setTimeout("Fn(arg)",sec);


この方法だと一度は実行されますが(setTimeoutに入る前の処理だけ)setTimeOut()での再帰(イメージ的な)が行われません。setTimeout内の引数が無効になる感じでエラーがおきます。「引数 is not defined」みたいな・・・。


次のサイトではこんな感じです。


setTimeout("関数名('"+引数+"')",時間); 実際はこんな感じ→setTimeout("Fn('"+arg+"')",sec);


これはsetTimeout()内では文字列は' 'で囲まないといけないというルールがあるかららしいです。しかし自分の場合はうまくいきませんでした。これも同じく「引数 is not defined」みたいなエラーが。


次のサイトではほぼ完璧な形が書いてありました。


setTimeout(関数名,時間,引数1,引数2); 実際はこんな感じ→setTimeout(Fn,sec,arg1,arg2,・・・・);


なんと引数を渡す場合は書き順が違うというww とはいえこれを実行したときの感動は計り知れないww


しかしここでまたもやエラーが。なんとこの方法IEには対応していません。またお前かIE・・・。


ということでさらに探すこと1時間。やっと次の方法を発見することができました。


setTimeout(function(){関数名(引数);},時間); 実際はこんな感じ→setTimeout(function(){Fn(arg);},sec);


もう少し見やすく書くとこうなります。


setTimeout(function(){
      Fn(arg);
},sec);



簡単に説明すると無名関数をしようしているだけなのですが,思いつかないってのw


ということでこの方法だと確認したかぎりでは「IE8,firefox3.6」で無事に実行できました。


ということでIEを考慮しないならsetTimeout(Fn,sec,arg1,arg2,・・・・);でもいいんじゃないかとww


ではでは。














スポンサーサイト
2010-10-25(Mon)
 

コメントの投稿

非公開コメント

承認待ちコメント

このコメントは管理者の承認待ちです
2012-12-18 15:16 |  |    [ 編集 ]

承認待ちコメント

このコメントは管理者の承認待ちです
2014-02-11 17:32 |  |    [ 編集 ]

MAxUraのプロフィール

MAxUra

名前:MAxUra
年齢:学生です。
趣味:ネットサーフィン
           DVD鑑賞
特徴:さまぁ~ずファンです
          Linux初心者です

Win,Linux,フリーソフト関連のメモを載せる予定です

 現在はWindows7 64bitを使用しています(2010年3月までは自分のPCはvistaなのでフリーソフトは基本vistaで動作済みってことになります)

コメント・相互リンク募集中です。

紹介してほしいソフトなどありましたら気軽にコメントやメールください♪

ブログ内検索フォーム
プログラミング関係
Black Cat Clock
メールフォーム

名前:
メール:
件名:
本文:

おすすめブラウザ
Firefoxをいつも使ってます
Firefox ブラウザ無料ダウンロード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。