倒计时小时和分钟
Countdown hours and minutes
我有一个今天的时间值。我需要一个倒计时,显示到那时还有多少小时和分钟。当用户在页面上时,我需要这个倒计时来更新分钟数。
我做了一个快速搜索,看到了很多插件,但我认为如果没有额外的脚本,这可能会很简单。
Time left <span class="remainingTime"></span>
var day = new Date(),
now = d.getHours() + ":" + d.getMinutes(),
end = '23:00';
我想我需要某种转换,也许到毫秒来获得显示的初始时间,然后可能设置Timeout并递减60000?
这个怎么样?小巧简洁。
function SetTimer(hours, minutes){
var end = new Date();
end.setHours(hours);
end.setMinutes(minutes);
var secondsLeft = (end - new Date()) / 60000;
var hoursLeft = Math.floor(secondsLeft / 60);
var minutesLeft = Math.round(secondsLeft % 60);
$('.remainingTime').text(hoursLeft + ' : ' + minutesLeft);
}
SetTimer(23, 59);
setInterval(function(){
SetTimer(23, 59);
}, 1000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Time left <span class="remainingTime"></span>
有一百万个谷歌结果显示Javascript小时/分钟倒计时脚本。我在10秒内找到了这个脚本,并在30秒内完成了它。在下次提问之前,你真的应该做更多的研究。以下是第一个结果之一的脚本:
function DaysHMSCounter(initDate, id){
this.counterDate = new Date(initDate);
this.container = document.getElementById(id);
this.update();
}
DaysHMSCounter.prototype.calculateUnit=function(secDiff, unitSeconds){
var tmp = Math.abs((tmp = secDiff/unitSeconds)) < 1? 0 : tmp;
return Math.abs(tmp < 0 ? Math.ceil(tmp) : Math.floor(tmp));
}
DaysHMSCounter.prototype.calculate=function(){
var secDiff = Math.abs(Math.round(((new Date()) - this.counterDate)/1000));
this.days = this.calculateUnit(secDiff,86400);
this.hours = this.calculateUnit((secDiff-(this.days*86400)),3600);
this.mins = this.calculateUnit((secDiff-(this.days*86400)-(this.hours*3600)),60);
this.secs = this.calculateUnit((secDiff-(this.days*86400)-(this.hours*3600)-(this.mins*60)),1);
}
DaysHMSCounter.prototype.update=function(){
this.calculate();
this.container.innerHTML =
" <strong>" + this.days + "</strong> " + (this.days == 1? "day" : "days") +
" <strong>" + this.hours + "</strong> " + (this.hours == 1? "hour" : "hours") +
" <strong>" + this.mins + "</strong> " + (this.mins == 1? "min" : "mins") +
" <strong>" + this.secs + "</strong> " + (this.secs == 1? "sec" : "secs");
var self = this;
setTimeout(function(){self.update();}, (1000));
}
这样使用:
<div id="myCounter"></div>
<script>
new DaysHMSCounter('December 25, 2015 00:00:00', 'myCounter');
</script>
试用演示
我相信你可以修改它以删除"天"answers"秒"部分。
相关文章:
- 每小时倒计时一次,但以30分钟为单位
- 如何在javascript中将秒转换为分钟和小时
- 如何将分钟格式化为小时和分钟,但仅显示小时(如果's>60分钟
- 引导时间选择器在增加或减少小时和分钟的同时获取 NaN
- 计算JavaScript中的时间差异(天+小时+分钟+秒)
- 根据小时和分钟更改 CSS
- 使用年、月、日期、小时、秒格式每分钟刷新一次图像
- 用javascript将时间格式化为小时和分钟
- jQuery倒计时隐藏天/小时/分钟(如果没有)
- 如何每10分钟运行一次函数,在10分钟标记上,每小时运行6次
- 将秒实时转换为小时和分钟
- 如何在nvd3.js图中将小时和分钟作为x轴
- 将秒转换为天,小时,分钟和秒
- 如何使用 矩.js 将分钟转换为小时
- 在 JavaScript 中,范围小时 30 分钟(或 20 分钟)
- Javascript:如何以毫秒为单位将时间显示为天:小时:分钟
- 如何用PHP格式化中文小时和分钟
- SSE (事件源) 在 1 小时 22 分钟后超时.有没有办法让它持久化
- 在 Google 图表 y 轴上将时间格式设置为小时:分钟
- 在 AmCharts 中将数据从秒更改为分钟/小时/天