2011-07-11 10 views
0

基本的には、html入力テキストボックス内に現在の時刻(hh:mm:ss am/pm形式)を表示するだけです。これは時計として機能するので、表示されている間、時間は計数/移動を続けなければなりません。dojoまたはdijitを使って時間/時計を表示する方法は?

これは普通のjavascriptで行うことができますが、私はdojo/dijitの実装を見たいと思います。

ありがとうございます!

答えて

2

ここには再利用できるexampleがあります。

これはdojox.timing.Timerを使用して独自に実装することもできます。

dojo.require('dojox.timing'); 
t = new dojox.timing.Timer(1000); 
t.onTick = function() { 
    //One second elapsed 
    var now = new Date(); 
    //format now using dojo.date.locale.format 
    //update your text box with the result 
} 
t.onStart = function() { 
    //Do whatever setup is needed 
} 
t.start(); 

dojo.date.locale.formatの2つの例です。

+0

感謝。私は実際にはそれを見ましたが、(たとえ私が単純なクロックコード用のセクションをつかんでいたとしても)そのような小さな機能のためにコードの行が多すぎるように思えます。私はこれを行うためのより短い方法があることを望んでいたのですか? –

+0

アップデートを参照してください。 – emboss

0

最小限のアプローチでは、おそらく入力コントロールとdojo.date.locale.formatのsetTimeout呼び出しでこれを達成できます。 DojoX/Dijitの抽象概念は必ずしも必要ではありませんが、dojox.timingコードのいくつかは便利です。以下のコードで

0

ルック:

var myTime = new dijit.form.TimeTextBox({ 
    value: new Date() 
    constraints: { 
     timePattern: 'hh:mm:ss a', 
    }, 
    id: "timeTb" 
}, dojo.byId("timeDiv")); 

var elem = document.getElementById("timeTb"); 
setInterval(function(){ 
    dijit.byId("timeTb").setValue(new Date()); 
}, 1000); 
関連する問題