• ベストアンサー

BLINKと時間

htmlまたはJavaScriptでblinkを使用して、文字を点滅させたいと考えております。このblinkは、ある一定時間文字を点滅させるということは可能でしょうか? たとえば、起動後10分間のみ点滅させて、10分をすぎれば、点滅させない といったものです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

そうそう、もう一つ var blinktimemin = 10;//点滅時間(分) var blinkHz = 1000;//点滅周期(ミリ秒) var blinktimemillsec = blinktimemin * 60 * 1000; var halfHz = blinkHz / 2; あたりは関数の外に出した方がすっきりすると思いますが個人的にはそういうのは好きではないので勝手に関数内に入れさせてもらいました。

Pedro
質問者

お礼

ご連絡遅れて申し訳ございません。参考にさせていただきました。大変助かりました。

その他の回答 (2)

回答No.2

こんにちは。だいぶ時間がかかったけどまだみていますか?本来ならスタイルシートで指定してjavascriptから書き換えるのがいいのですが某最大シェアのブラウザーでblinkは対応していないのでvisibilityを切り替えて点滅しているように見せる方法を取ってみました。ちなみに if(obj.style.textDecration == "blink"){ setTimeout("obj.style.textDecration = 'none'",blinktimemin * 60 * 1000); } を残したのはblink対応するブラウザーでひょっとしたらとこちらから対応できるかなと思ってスマートに書けるほうも残しておきました。ただし、IEでチェックするとスタイルシートで直接指定したものはスクリプトから直接確認できないようなので無駄になるかもしれません。 スタイルシート指定を残したのも上記に引っかかるかもしれないのとNN4で点滅の効果を出しておくためです。10分たっても通常表示にはなりません。 上記を踏まえた上での簡単なサンプルです。<html> <head> <style type="text/css"> <!-- #tenmetsu{ text-decoration:blink; } --> </style> <script type="text/javascript"> <!-- function tenmetsushori(){ var blinktimemin = 10;//点滅時間(分) var blinkHz = 1000;//点滅周期(ミリ秒) var mojiretsu = "tenmetsu"; if(document.getElementById){ var obj = document.getElementById(mojiretsu); if(obj.style.textDecration == "blink"){ setTimeout("obj.style.textDecration = 'none'",blinktimemin * 60 * 1000); }else{ nowdate = new Date(); var sttimeser = nowdate.getTime(); tenmetsumain(blinktimemin,blinkHz,mojiretsu,sttimeser); } } } function tenmetsumain(blinktimemin,blinkHz,mojiretsu,sttimeser){ var blinktimemillsec = blinktimemin * 60 * 1000; var halfHz = blinkHz / 2; nowtime = new Date(); var nowtimeser = nowtime.getTime(); var obj = document.getElementById(mojiretsu); if(nowtimeser - sttimeser < blinktimemillsec){ if(obj.style.visibility == "hidden"){ obj.style.visibility = "visible"; }else{ obj.style.visibility = "hidden"; } setTimeout("tenmetsumain(" + blinktimemin + "," + blinkHz + ",'" + mojiretsu + "'," + sttimeser + ")",halfHz); }else{ obj.style.visibility = "visible"; } } //--> </script> </head> <body onLoad="tenmetsushori()"> <span id="tenmetsu">点滅文字</span> </body> </html>

  • white-led
  • ベストアンサー率32% (65/202)
回答No.1

なかなか回答が得られないようなので、 助け船を。 ここではなく、javaの掲示板で 同様の質問を出してみてはどうでしょうか? 多分得られると思います。(保証はありませんけど。。)

Pedro
質問者

お礼

ご連絡遅れて申し訳ございません。参考にさせていただきました。

関連するQ&A