Javascript倒计时;不能在Safari或IE中工作
Javascript countdown doesn't work in Safari or IE
这个函数在Chrome中有效,但在IE或Safari上无效,我做错了什么?
function countdown(){
var dDay = new Date().getUTCDate() + 1;
var dMonth = new Date().getUTCMonth() + 1;
var dYear = new Date().getUTCFullYear();
var BigDay = new Date(dYear+ ", " +dMonth+ ", " +dDay+ ",00:00:00");
var msPerDay = 24 * 60 * 60 * 1000;
var today = new Date();
var timeLeft = (BigDay.getTime() - today.getTime());
var e_daysLeft = timeLeft / msPerDay;
var daysLeft = Math.floor(e_daysLeft);
var e_hrsLeft = (e_daysLeft - daysLeft)*24;
var hrsLeft = Math.floor(e_hrsLeft);
var e_minsLeft = (e_hrsLeft - hrsLeft)*60;
var minsLeft = Math.floor(e_minsLeft);
var e_secsLeft = (e_minsLeft - minsLeft)*60;
var secsLeft = Math.floor(e_secsLeft);
if(daysLeft.toString().length === 1){
daysLeft = "0"+daysLeft;
}
if(hrsLeft.toString().length === 1){
hrsLeft = "0"+hrsLeft;
}
if(minsLeft.toString().length === 1){
minsLeft = "0"+minsLeft;
}
if(secsLeft.toString().length === 1){
secsLeft = "0"+secsLeft;
}
timeString = daysLeft + ":" + hrsLeft + ":" + minsLeft + ":" + secsLeft;
return timeString;
}
我用这个打印计数器
window.setInterval(function(){
$('#countdown').html("Time left: "+ countdown());
}, 1000);
这是我在Chrome中得到的结果:
Time left: 00:01:55:15
这是我在IE和Safari:中得到的结果
Time left: NaN:NaN:NaN:NaN
我认为这是因为您在中构建了一个无效的日期对象
var BigDay = new Date(dYear+ ", " +dMonth+ ", " +dDay+ ",00:00:00");
文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
一个月表示为:
表示月份的整数值,从0开始表示1月到12月11日。
你只想在今天增加一天,所以试着在中更改你的代码
var BigDay = new Date();
BigDay.setDate(BigDay.getDate() + 1);
BigDay.setHours(0, 0, 0, 0);
演示:http://jsfiddle.net/IrvinDominin/HgUhq/
相关文章:
- Target=_blank don'我不在mozilla和IE工作
- jQUery Code没有'我不在IE工作
- 为什么这个书签脚本是't在IE工作
- 类构造函数super()没有'我不在IE工作
- onmousemove=null不会'我不在IE工作
- execCommand('另存为',true,'data.csv');不在IE工作
- 努力让第n个有悬停的孩子在IE工作
- Javascript Groovy按钮没有'我不在IE工作
- 属性='值'jquery选择没有'我不在IE工作
- atob不在IE工作
- 将图像附加到富文本编辑器dosen'我不在IE工作
- javascript没有'I don’我一直在IE工作
- 使用插件制作移动滑动导航,但它没有'我不在IE工作
- Video.js没有'我不在FF、IE工作
- dojo on.emit”;点击“;以及“;改变“;不在IE工作
- 为什么这个工具提示没有'不在IE工作吗?错误:应为对象
- document.getElementById('a').click()没有't在IE工作
- 插入符号插件的jquery;我不在IE工作
- 聚合物:点击事件在IE工作,但不是Chrome.如何修复
- 如何使IE工作预期与正则表达式提供的函数参数在拆分函数