編集:Clock.start() を呼び出すときにパラメーターを渡すにはどうすればよいので、totalSeconds の値を変更できますか?
ページには複数のタイマー行がありますが、ユーザーごとに 1 つしか実行されないため、タイマー表示の ID と連結する値のカウンターを取得しました。タイマーの値を渡したいので、取得する必要があるタイマーがどの行にあるのかを知り、それを秒に変換し、最後にその値を totalSeconds に割り当てることができます。そうすれば、私がすべてを描いた方法でこれを機能させることができるかもしれません。
すでに実行しているもの: 更新しない限り、カウントアップしていることを示さないタイマーがあります。ページが PHP をロードすると、mySQL クエリが実行され、TIMEDIFF(now(), time_log) で経過時間が計算されます。ここで、time_log はタイマーが開始された時刻です。
追加したいこと: 以下の js/jquery スニペットを使用して TIMEDIFF を取得し、それを totalSeconds として使用することです。
var Clock =
{
totalSeconds: 0,
start: function () {
var self = this;
this.interval = setInterval(function () {
self.totalSeconds += 1;
var ctr;
$(".icon-play").each(function(){
if( $(this).parent().hasClass('hide') )
ctr = ($(this).attr('id')).split('_');
});
$("#hour_" + ctr[1]).text(pad(Math.floor(self.totalSeconds/3600)));
$("#min_" + ctr[1]).text(pad( Math.floor((self.totalSeconds/60)%60) ));
$("#sec_" + ctr[1]).text(pad(parseInt(self.totalSeconds%60)));
}, 1000);
},
pause: function () {
clearInterval(this.interval);
delete this.interval;
},
resume: function () {
if (this.interval) this.start();
}
};
このスクリプトについては、Speransky Danil 氏の功績によるものです。タイマーを一時停止および再開するにはどうすればよいですか?