将秒实时转换为小时和分钟
Convert seconds to hours and minutes in real time
我想创建一个网站,通过点击激活多个倒计时,其中一些时间不同,另一些时间相同。我需要根据剩下的时间来组织他们。当一个完成时,我需要将其返回到他的原始倒计时值,这样你就可以再次点击。
我有这个:http://jsfiddle.net/arglab/m19aojmu/11/
HTML
<div id="container">
<div class="element" id="el1"><b>element 1</b> <span class="timeout">10</span> seconds</div>
<div class="element" id="el2"><b>element 2</b> <span class="timeout">1000</span> seconds</div>
<div class="element" id="el3"><b>element 3</b> <span class="timeout">100</span> seconds </div>
<div class="element" id="el4"><b>element 4</b> <span class="timeout">10</span> seconds </div>
<div class="element" id="el5"><b>element 5</b> <span class="timeout">10000</span> seconds</div>
</div>
Javascript
function timer(selector) {
var self = $(selector);
var sec = parseInt(self.find('span.timeout').text());
console.log(sec)
order++;
var actualTime = $('span.timeout').html();
console.log("Original time " + actualTime)
self.addClass('selec').css('order',order+'');
var interval = setInterval(function() {
sec--;
console.log(sec)
if (sec >= 0) {
self.find('span.timeout').text(sec);
} else if($(this).find('span').text() <= 0) {
console.log(sec)
var text = self.find('span.timeout').text(actualTime);
console.log(actualTime)
clearInterval(interval);
}
$('.element').each(function(){
if($(this).find('span').text() == 0){
$(this).removeClass('selec');
$(this).css('order','0');
}
});
}, 1000);
}
var order = 1;
$("body").on('click', '.element', function() {
timer(this);
});
然而,我不知道如何将秒实时转换为小时-分钟-秒。我该怎么办?感谢
只需转换值:
var hours = Math.floor(sec / 3600);
var min = Math.floor((sec - (hours*3600)) / 60);
var seconds = Math.floor(sec % 60);
并与您的文本连接。但你必须测试小时或分钟是否大于零才能显示描述符:
var value = seconds;
if(min > 0) {
if(min == 1) {
value = " minute " + value;
} else {
value = " minutes " + value;
}
value = min + value;
}
if(hours > 0) {
if(hours == 1) {
value = " hour " + value;
} else {
value = " hours " + value;
}
value = hours + value;
}
self.find('span.timeout').text(value);
http://jsfiddle.net/m19aojmu/14/
您可以简单地使用除法和模计算小时、分钟和秒:
// total seconds
var seconds = 344234;
// calculate seconds
var s = seconds % 60;
// add leading zero to seconds if needed
s = s < 10 ? "0" + s : s;
// calculate minutes
var m = Math.floor(seconds / 60) % 60;
// add leading zero to minutes if needed
m = m < 10 ? "0" + m : m;
// calculate hours
var h = Math.floor(seconds / 60 / 60);
var time = h + ":" + m + ":" + s
JSFiddle在这里:http://jsfiddle.net/dcfxnmxc/
此处
var minutes = Math.floor(seconds/60);
seconds = seconds - (minutes*60);
var hours = Math.floor(minutes/60);
minutes = minutes - (hours*60);
相关文章:
- 每小时倒计时一次,但以30分钟为单位
- 如何在javascript中将秒转换为分钟和小时
- 如何将分钟格式化为小时和分钟,但仅显示小时(如果's>60分钟
- 引导时间选择器在增加或减少小时和分钟的同时获取 NaN
- 计算JavaScript中的时间差异(天+小时+分钟+秒)
- 根据小时和分钟更改 CSS
- jQuery倒计时隐藏天/小时/分钟(如果没有)
- Javascript:如何以毫秒为单位将时间显示为天:小时:分钟
- 在 Google 图表 y 轴上将时间格式设置为小时:分钟
- 从时间戳中获取天数小时分钟数
- 按日期分组,忽略小时/分钟/秒
- JS倒数计时器与天:小时:分钟
- 将JavaScript日期格式设置为小时:分钟:秒
- 如何在1小时3分钟内将功能时间和日期转换为类似内容
- Javascript显示毫秒为天:小时:分钟,没有秒
- 如何在dijit.form.TimeTextBox中设置时间模式以显示小时:分钟am|pm ?
- Javascript:代码2下拉框(小时:分钟)
- 从下拉菜单中获取小时分钟值,仅在javascript中的setInterval()中进行初始化
- 我需要转换成“1小时9分钟”之类的东西;PHP中的秒数
- HighCharts小时/分钟