Javascript 在用当前时间更新元素时,如何在jQuery中将秒转换为分钟?
因此,我看到了许多以静态hr/min/sec显示分配秒数的方法。但是,我正在尝试生成一个可视化倒计时计时器:Javascript 在用当前时间更新元素时,如何在jQuery中将秒转换为分钟?,javascript,Javascript,因此,我看到了许多以静态hr/min/sec显示分配秒数的方法。但是,我正在尝试生成一个可视化倒计时计时器: $('#someelement').html(minCounter + ' minutes ' + ((secCounter == 0) ? '' : (secCounter + ' seconds'))); 我的计数器在每1秒触发一次的设置间隔内减少: //....... var counter = redirectTimer; jQuery('#WarningDialogMsg')
$('#someelement').html(minCounter + ' minutes ' + ((secCounter == 0) ? '' : (secCounter + ' seconds')));
我的计数器在每1秒触发一次的设置间隔内减少:
//.......
var counter = redirectTimer;
jQuery('#WarningDialogMsg').html(minCounter + ' minutes ' + ((secCounter == 0) ? '' : (secCounter + ' seconds')));
//........
SetInternval( function() {
counter -= 1;
secCounter = Math.floor(counter % 60);
minCounter = Math.floor(counter / 60);
//.......
$('#someelement').html(minCounter + ' minutes ' + ((secCounter == 0) ? '' : (secCounter + ' seconds')));
}, 1000)
这是一个两分钟计数器,但我不想显示120秒。我想显示1:59和倒计时
我已经用上面的方法让它工作了,但我的主要问题是:有没有更优雅的方法来完成上面的工作?注意:我正在重定向一次计数器==0。我使用Keith Wood的jQuery插件节省了时间。试试看 或者这个:
var old_date = new Date('Wed Dec 29 2010 21:56:33');
var time_update = dateDiff(old_date, new Date()); // {"diff":119000,"ms":0,"s":59,"m":1,"h":0,"d":0}
function dateDiff(date1, date2) {
var diff = Date.parse(date2) - Date.parse(date1);
if (diff < 0) return false;
var objDate = isNaN(diff) ? NaN : {
diff: diff,
ms: Math.floor(diff % 1000),
s: Math.floor(diff / 1000 % 60),
m: Math.floor(diff / 60000 % 60),
h: Math.floor(diff / 3600000 % 24),
d: Math.floor(diff / 86400000)
};
return objDate;
}
secCounter中的Math.floor=Math.floor计数器%60;不需要排队。不管怎样,它看起来很好。