Javascript 倒计时时间无法显示
Javascript count down time failing to display
我想在我的 asp.net mvc站点的页面顶部显示倒计时,我一直在尝试使用javascript创建它,但是倒计时没有显示在我的页面上,我不明白为什么。任何帮助将不胜感激,谢谢!
这是我的观点和我的脚本
@model Site.ViewModels.SummaryVm
<head>
<title>Order Summary</title>
</head>
<header>
<h2> Here is your order summary, please review before proceeding with payment. Please complete this transaction within 15 minutes or your order will be cancelled.</h2>
</header>
<div class="float-left">
<h2 id="countdown"></h2>
</div>
<script type="text/javascript">
var dt = '@ViewBag.CountDown_Time';
var dateAr = dt.split('-');
var newDate = dateAr[1] + '/' + dateAr[0] + '/' + dateAr[2];
var end = new Date(dateAr[1] + '/' + dateAr[0] + '/' + dateAr[2]);
var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;
function showRemaining() {
var now = new Date();
var distance = end - now;
if (distance < 0) {
clearInterval(timer);
document.getElementById('countdown').innerHTML = 'EXPIRED!';
var eventID = 'eventID='+@Model.eventID;
var orderID = 'orderID='+@Model.orderID;
var quantity = 'quantity='+@Model.ticketQuantity;
var days = Math.floor(distance / _day);
var hours = Math.floor((distance % _day) / _hour);
var minutes = Math.floor((distance % _hour) / _minute);
var seconds = Math.floor((distance % _minute) / _second);
document.getElementById('countdown').innerHTML = hours + 'hrs ';
document.getElementById('countdown').innerHTML += minutes + 'mins ';
document.getElementById('countdown').innerHTML += seconds + 'secs';
}
timer = setInterval(showRemaining, 1000);
}
</script>
这是我的控制器方法
public ActionResult CreateOrder(OrderVm orderVm)
{
//code removed form brevity
if (Session["CountDown_Time"] == null)
{
Session["CountDown_Time"] = DateTime.Now.AddMinutes(15).ToString("dd-MM-yyyy h:mm:ss tt");
}
ViewBag.CountDown_Time = Session["CountDown_Time"];
return View("OrderSummary", summaryVm);
}
showRemaining
没有调用,你想在方法本身之外开始间隔,如下所示:
var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;
function showRemaining() {
var now = new Date();
var distance = end - now;
if (distance < 0) {
clearInterval(timer);
document.getElementById('countdown').innerHTML = 'EXPIRED!';
} else {
var eventID = 'eventID='+@Model.eventID;
var orderID = 'orderID='+@Model.orderID;
var quantity = 'quantity='+@Model.ticketQuantity;
var days = Math.floor(distance / _day);
var hours = Math.floor((distance % _day) / _hour);
var minutes = Math.floor((distance % _hour) / _minute);
var seconds = Math.floor((distance % _minute) / _second);
document.getElementById('countdown').innerHTML = hours + 'hrs ';
document.getElementById('countdown').innerHTML += minutes + 'mins ';
document.getElementById('countdown').innerHTML += seconds + 'secs';
}
}
timer = setInterval(showRemaining, 1000);
相关文章:
- 显示时间的脚本
- 如何用前导零显示时间
- 如何在烛光图表中添加/显示时间框架
- 如何在页面上显示时间、日期IP和URL?更新日期:2015年2月25日
- 在条件中的几个时间行中设置自定义css效果后,从Jquery时间选择器显示时间
- 在指定时间中添加 24 小时后在网页上显示时间 x
- 如何像这样显示时间,例如:1秒前,1分钟前,1小时前,1个月前
- j查询日期选取器不显示时间输入值
- JavaScript 和 JQuery:在文本框中显示时间
- 给定一个时间戳,如何按天/周/月显示时间
- 为什么不显示时间
- 显示时间而不是日期的图表
- 根据天数和月数显示时间戳
- 如何在 Javascript 中显示时间
- 如果午夜使用时刻.js,则不显示时间
- 是否可以筛选 JSON 源以仅显示时间戳字符串中的时间
- 检查后显示时间选择器复选框,导轨(Redmine)
- 设置showErrorMessage()的显示时间
- 以12小时格式显示时间
- 日期时间倒计时,删除小数,并在每个类别中保留时间显示时间