現在時刻を刻々と表示する


<script type="text/javascript">
var gDateJSObj;
function viewDate(){
	gDateJSObj = new DateJS();
	gDateJSObj.nowTimeOnTitlebar();
}
function hiddenDate(){
	gDateJSObj.stopNowTimeTitlebar();	// タイマーをストップ
}
</script>

ここでは、prototype.jsを利用してnew演算子でオブジェクトを生成しコントロールします。

  • Class.createを使うときは、オブジェクト生成時にinitialize()が実行されます。ここで、メンバを初期化します。
  • DateJS.nowTimeOnTitlebar()では、元のタイトル文字列の後ろに日時を上書きします。
<script type="text/javascript" src="/AJAX/prototype.js" charset="utf-8"></script>
<script type="text/javascript">
var DateJSBase = {
    Version: '2.0.0',
    Description: '日付・時刻を刻々と表示する、日付を元に画像の表示/非表示'
};
//----------------------------------------------
// prototype.js 
var DateJS = Class.create(DateJSBase, {
    Version: '2.2.a',
    _date: {},               // テンポラリ用オブジェクト
    // コンストラクタ
    initialize: function() {
        this.NowTimeTitlebarCount=0;
        this.intervalNowTimeOnTitlebarID=0;
    },
    //--------------------------------
    // タイトルバーに日時刻々と表示する(1秒ごとに書き換え)
    nowTimeOnTitlebar: function () {
        this._getNowTimeOnTitlebar();
        if (AugusAjax.Browser.Trident)
            // IE の場合は、第三引数以降が利用できないので、無名関数で、呼び出せばよい
            this.intervalNowTimeOnTitlebarID = setInterval(function () { this._getNowTimeOnTitlebar(); }.bind(this),999);
        else
            this.intervalNowTimeOnTitlebarID = setInterval(this._getNowTimeOnTitlebar.bind(this), 999);
    },
    _getNowTimeOnTitlebar: function () {
        // 1時間経過したら停止する
        if (this.NowTimeTitlebarCount++ >= 3600000) {  // 60*60*1000
            this.stopNowTimeTitlebar ();
            alert(gAlertStr[0]);
        }
        this._date.now = new Date();
        var YMD = this._date.now.getYMD ();
        var TMS = this._date.now.getTMS ();
        document.title = this._docTitle+"  "+YMD[0]+"/"+YMD[1]+"/"+YMD[2]+" "+TMS[0]+":"+TMS[1]+":"+TMS[2];
        delete this._date.now;
    },
    stopNowTimeTitlebar: function () {
        clearInterval (this.intervalNowTimeOnTitlebarID);
    }
});
// End of DateJS

//  $HTML(element,str)     getElementById(element).innerHTML = str;

</script>
TOPへ

IT用語辞典


inserted by FC2 system