AX
カテゴリ:雑記( 91 )
JavaScriptでwaitする方法
〜戯れ言〜
HTML文書を書いてて、文字を点滅させたかったんで、blinkタグを使ってみた。
ところが、blinkタグはNetscape専用らしく、SafariでもInternetExplorerでも動かない。

となると、JavaScriptで書くしかない。
まぁ、大して複雑な処理じゃない。ただ、文字を点滅させるだけですからね。

つまりは、文字を見えなくしたり、見えるようにしたり、という処理を繰り返すJavaScriptを作れば良い。
方法としては、点滅させたい文字を

(1)削除する → 表示する → 削除する →・・・・
(2)背景と同じ色にする → 背景と違う色にする → 背景と同じ色にする →・・・・
(3)透明にする → 不透明にする → 透明にする →・・・・
(4)移動させる → 元の位置に戻す → 移動させる →・・・・

と、こんな感じに何通りかある。
(1)、(2)ならinnerHTMLとか使ってやるし、
(3)ならスタイルシートで透明度の設定を変える。
(4)もスタイルシートで表示する位置を変える処理を書けばいいわけだ。

んで、どの処理にも共通して必要なのが、繰り返しの処理。
しかもただ単にループすればいいってわけじゃない。
ある程度 時間をおいて繰り返してもらわなきゃ、速過ぎて常に表示して見えてしまう。

で、その時間を開ける方法を考える。
C言語にはsleep()という関数が存在し、引数として数字を与えてやれば、
その与えた時間だけ処理が止まる。

例えば、sleep(1000)なら1秒処理が止まってくれる。

Javaにも似たようなものがあり、wait()というメソッドが存在する。同じようにwait(1000)のようにして使う。

だが、JavaScriptにはそのような便利なファンクションが存在しない。
でも、似たような物はある。それがsetTimeout()というファンクションである。

setTimeout()は引数に”行ないたい処理”と”その処理を行なうまでの時間”を設定する。

setTimeout ("alert ('1秒待ちました')",1000)

ってな書き方をすると、1秒後に、アラートで「1秒待ちました」のメッセージが出る。

今回の場合は、繰り返しの処理なので、再起処理のようなことをしなければならないのですが、実はJavaScriptにはもう1つ似たようなファンクションがあり、setInterval()というものがある。

setInterval()はあまり知られていないのか、それともあまり使わない方がいいファンクションなのか、あまりサイトで使われているところを見かけない。どこもsetTimeout()を再起的に呼び出している。

ま、我が輩はそんなこと知ったこっちゃない。今回はこっちの方が、便利なのでこれを使う。
setInterval()は繰り返し処理を呼び出すファンクションである。
使い方はsetTimeout()とほとんど同じ。

s etInterval ("alert ('10秒経ちました')",10000)

このように書けば、アラートで10秒ごとに「10秒経ちました」のメッセージが出る。ここで、繰り返し呼ぶまでの時間の設定を小さくしすぎると、ハマってしまうので注意。

ってなわけで、不透明ならば透明にし、透明ならば不透明にするという処理をするblink()という名前のファンクションを作り、

s etInterval ("blink ()",10000)

ってな感じで完成。
setTimeout()を使ってちょっと工夫すれば、単純に一定間隔で点滅するものだけじゃなく、三三七拍子で点滅させるファンクションなんてものも作れる。

ちなみに今回 blink()ファンクションの中身(ソース)や三三七拍子の作り方を書いていないのは、ただ自分用にJavaScriptのwaitの仕方をメモしておきたかっただけで必要ないからである。

たまにはこういう使い方もいいかなぁ〜、なんて。φ(。_。)メモメモ


2009/12/19 追記
【Javascript】 JavaScriptでwaitする方法 改

waitのfunctionを使えばblinkはこうやったらできる。

function blink() {
var b = document .getElementById("blinker");
if (b.style.display!="none") b.style.display="none";
else b.style.display="inline";
wait(1000);
blink();
}

[PR]
by manodeldio | 2005-10-23 23:43 | 雑記
すげぇ・・・。orz
〜戯れ言〜
こんなサイトを発見。

Mac OSX WEB

ついでにこんなサイトも

Bindows™ Home

我が輩が密かにやっていたMac OSXのHTML化が既に行なわれていた。まぁ、誰でも考えそうなこと。しょうがない。
でも、なんつか、自分の方を続けて行く気力が大幅に削られた感じ。一応続けて行くつもりだが、今は別な事してる。その後に再開してみるかな?(==;


[PR]
by manodeldio | 2005-10-16 15:32 | 雑記
ガクガクブルブル
〜戯れ言〜
最近 寒くなってきたらしい。
なんか会社に引きこもってばかりだから外の様子がわからない。とは言っても行きと帰りは外にいるんですけどね。

会社内はこの季節でもクーラーががんがんに効いてます。パソコンが熱で暴走しないためなので仕方ないんすよね〜。クールビズなんてうちの事業所には無縁だぜっ!!( ̄∇ ̄;)

そんなわけで普通に寒いわけよ、外の気温関係無しに。春に入社でまだ作業着が半袖しか支給されてないし、クーラーの真下の席でガクガク(((( = w = ))))ブルブル って感じです。

このままでは凍え死んでしまう可能性があるので長袖を申請する事にしました。
先輩いわく、申請用紙に必要事項を記入して、庶務にハンコをもらい、それを洗濯場へ持っていけば長袖がもらえるらしい。

申請用紙に必要事項を記入、庶務にハンコをもらった。でも、申請用紙が帰ってこなかった・・・。

あれ!?(==; 我が輩は何を持って洗濯場へ行けば良いのだよ。

ま、あとで先輩に聞いてみるかぁ、と仕事の続きをしていると庶務の方が長袖を持ってきてくれた! お、おお!?我が輩が取りに行かなくていいのか!?もしかしてエライ方々のシマにいるから何か勘違いされた!?さすがにそれはないだろう。こんな見た目がふざけた人がおエライさんだとは思わないだろう

なんにせよ、ようやく長袖入手。明日から寒い思いをせずに済むぜぇい。(〃▽〃)b


[PR]
by manodeldio | 2005-10-13 23:59 | 雑記
やる気が無い(==;
〜戯れ言〜
何かやる気が出ない。(==;

最近、仕事の進捗が少ない。普通にわからなくて進まないってのもあるんだが、やる気が出ないのが一番の理由。

というか、やる気は出してる。でも、なんか精いっぱいやっている感じではない。良い事なのか、悪い事なのか、なんかどこかに余裕がある。

ま、大学までかなりマイペースでやってきた我が輩だから、この「頑張っているんだが、頑張っていない」という状態が普通なんだがな。それで給料もらえるのが、これでいいのかなぁ?って感じ。(==;

[PR]
by manodeldio | 2005-10-05 23:59 | 雑記
漫画専門店
〜戯れ言〜
最近全然マンガを買いに行ってなかったので、購読しているマンガを買いに行った。
いつもマンガを買いに行く店は決まっている。中学くらいのことに友達に連れて行かれてからそこで買うようにしている。別に店の名前を伏せる必要もないですね。(^^;
 
ANIMATE

マンガ、アニメ好きなら知っている人も多いだろうと思われるアニメイト。マンガ、アニメ、etc、いわゆるマニア、おたく向けの品物ばかり扱っているお店。
我が輩は最初、マンガ専門店だと思っていたんだが、池袋にあるアニメイト本館に行ってみるとアニメとかいろんなグッズが売ってるのね。

ま、そんなマニアックな店だが、我が輩はここでマンガは買うようにしている。
理由は、
・プラスチックカバー(透明)を付けてくれる
・スタンプ制の割引券(?)がある(スタンプ20個で1000円分。1個1000円だが・・・)
・時々なんかおまけがついてくる
・マイナーなマンガも置いてある

昔はスタンプ1個500円だったらしいんだがね。なかなか貯まらんが、無いよりマシ。マンガ2冊買ったら1個って感じかな。

んで、今日は ARIA と のだめカンタービレ っていうマンガを買いにいった。
ARIAは大分前にSpymacのBlogでも取り上げた事がある我が輩が好きなマンガの一つ。なんか気付けばアニメ化とかなってました。深夜だから観ようと思えば観れるが、我が輩は観ないけどね。(爆)
のだめカンタービレは友達に勧められたマンガ。少女漫画だがギャグなので我が輩は結構気に入っている。

このアニメイトはマンガ専門店なだけあって、少年コミックスと少女コミックスが置いてあるフロアが違う。そんなわけで、少年コミックスのフロアから ARIA を持ち出し、少女コミックスのフロアで のだめカンタービレ を取り、そのまま少女コミックスのフロアで会計をしてもらおうとした。
そしたら何だ。店員に

「今回は結構ですので、会計はそれぞれのフロアでやってください」

と注意された。

『なんで、んな面倒な事をせなアカンのだ。少年コミックスのフロアはやたらと混んでるし、同じ店舗なんだからどこで会計しても同じじゃないかよっ!!』

とか内心思いながら、はい〜、と適当に返事しておきました。次回もまた別のフロアのマンガと一緒に買いに行きますよ。(爆)

だってねぇ。スタンプ押してもらえないじゃん( ̄▽ ̄;

[PR]
by manodeldio | 2005-10-01 23:59 | 雑記
多忙
〜戯れ言〜
せっかく友達にジムの回数券を割引で買ってもらったのに全然行けない。orz
このままでは期限切れでまるっきり無駄になってしまうのでその友達に譲渡する事にした。

土日にしか行けないのが問題だな。んで、土曜日は絶対って言っていい程予定が入るし、日曜日も今月と来月は既にほとんど埋まっている。(==;
社会人になると定期的に何かを行なうというのが難しいようだ。ついこないだも歯医者の定期検診の日程を変更してもらうハメになった。なんでこんなに忙しいのだ。(T-T)


[PR]
by manodeldio | 2005-09-14 22:39 | 雑記
マイブームのクラシック
〜戯れ言〜
いろんな理由で最近クラシックにハマっている。iPodにベートヴェンなどなど、その他クラシックミュージックを入れてみる。なんかクラシックは音の強弱が激しいからポータブルプレイヤで聞くのには向いていないかも。(==; せめてイヤホンじゃなくてヘッドホンが必要だな。

それはそうと、iTunesのタグが拡張されて歌詞を書き込む事ができるようになったのはいいが、どうすればiPodでその書き込んだ歌詞を表示する事ができるのだろうか?もしかして、PCからしか見れない!?それともバージョンアップ待ち!?もしかして俺がやり方わからないだけか!???

なんか知ってる人いれば教えて〜〜_| ̄|○

[PR]
by manodeldio | 2005-09-13 23:59 | 雑記
学生も大変だねぇ〜
〜戯れ言〜
今日は大学の頃の研究仲間と飲み会をしました。
かなり久しぶりに会った。院が2名と社会人4名(我が輩含む)。

院の2人はプラハで発表があるとかで英語の論文を作成中。めっちゃ大変そうですな。
残りの社会人ズは会社の不満をいろいろとぶちまけてました。一人は残業代が出ないとか言ってかなりご立腹。それを聞いてたら、残業多いけどちゃんと給料が出る分マシなんだなぁ、って感じです。(^^;

そういえば、わざわざ学校で集合したのに教授には会わなかったなぁ。つか、いなかった。
夏休みだし、しょうがないのか!?

[PR]
by manodeldio | 2005-09-10 23:59 | 雑記
ようやくのんびりできるか!?
〜戯れ言〜
仕事が楽になった。
今までは新しく作るような作業ばかりだったが、今は機能の追加や、仕様変更、バグ修正と言った内容。
まぁ、それでも大変な物は大変なんだが、今までのプログラミングをしっかりやってきた分、結構簡単に終わる作業が多いのね。苦ありゃ楽もあるってことッスね。

でも、やっぱり帰りは9時・・・。(==;

[PR]
by manodeldio | 2005-09-08 23:28 | 雑記
ラフティングしてきました
〜戯れ言〜
d0059114_01390.jpg
今日は長瀞まで行ってラフティングという名の川下りをしてきました。
会社の親睦会なので、仕事の一種と言えるかもしれませんが、給料は出ません。(当たり前(^^; )
長瀞までは電車で行く予定でしたが、会社の人の車に乗せてもらえるということで、遠慮なく車に乗せてもらうことにしました。

天気はばっちり晴れ。そして、台風が去ってから数日経っていて、昨日雨が降っていたってこともなかったので、水量も最適でラフティングにはもってこいのコンディションでした。

ラフティングとはゴムボートに複数人で乗り、一緒に乗った仲間と力を合わせ、オールで漕いで川を下って行く。というもの。
実際は、途中で泳いだり、遊んだりということもするので、ラフティングツアーは大体2時間ある。

ラフティングの後はバーベキューをしました。新人の我が輩は焼く作業ばかり。でも、量が多かったので充分食べれたし、他にも新人がいたので焼くのも大して大変じゃなかったけどね。

ラフティングってのは初めてやったが、結構楽しかった。びしょ濡れになるが、暑かったから気持ちよかったので全然OK。(むしろ、川で泳いだし)
雨の日の後とかは水量の増した、激しいラフティングができるらしい。是非やってみたいものだ。
d0059114_003325.jpg
[PR]
by manodeldio | 2005-09-03 23:48 | 雑記