ストップウォッチを表示する

ここ
<script type="text/javascript">
var gDateJSObj;
function start(){
	gDateJSObj = new DateJS();
	gDateJSObj.dspPassingYMDTime('KOKO');
}
function stop(){
	gDateJSObj.stopPassingYMDTime();
}
</script>

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

  • Class.createを使うときは、オブジェクト生成時にinitialize()が実行されます。ここで、メンバを初期化します。
  • DateJS.dspPassingYMDTime(element)では、divタグなどに付与したID文字列を渡します 。
<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.PassingYMDTimeCount=0;
        this.intervalPassingYMDTimeID=0;
    },
    //------------------------------
    // ○○から△時分秒経過
    dspPassingYMDTime: function (element) {
        element = getEl(element);
        if (typeof element == 'null')   return;
        this._date.baseTime = new Date();
        this._dspPassingYMDTime(element);
        if (AugusAjax.Browser.Trident){
            // IE の場合は、第三引数以降が利用できないので、無名関数で、呼び出せばよい
           this.intervalPassingYMDTimeID.push( setInterval(function () { this._dspPassingYMDTime(element); }.bind(this),999) );
        }
        else
            this.intervalPassingYMDTimeID.push( setInterval(this._dspPassingYMDTime.bind(this), 10, element) );
        return;
    },
    _dspPassingYMDTime: function (element) {
        // 1時間経過したら停止する
        if (this.PassingYMDTimeCount++ >= 3600000) {  // 60*60*1000
            this.stopPassingYMDTime ();
            alert(gAlertStr[0]);
        }
        this._date.now = new Date ();
        var temp = this._date.now - this._date.baseTime;
        $HTML(element,getHMS(temp));
        delete this._date.now;
    },
    stopPassingYMDTime: function () {
        for (var i=0; i<this.intervalPassingYMDTimeID.length; i++) {
            clearInterval (this.intervalPassingYMDTimeID[i]);
        }
    }
});
// End of DateJS

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

</script>
TOPへ

IT用語辞典


inserted by FC2 system