为了账号安全,请及时绑定邮箱和手机立即绑定

倒计时效果

难度初级
时长32分
学习人数
综合评分9.63
561人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.5 逻辑清晰
checkTime函数的if语句中应该加上return i;不然有可能在小于10时返回undefined

最新回答 / 学海无涯乐悠悠
注意,左边的提示后代码是不一致的,提示让用setTimeout(),你要用就得增加代码。最后一行代码改为sh=setInterval("FreshTime()",500);即可了
测试的弹框 被我设置不再提醒,怎么才能打开呢

最新回答 / 前端小菜鸟_2017
自定义结束时间小于当前时间,不满足if的判断条件,所以没有输出。
最后的 var s = parseInt(lefttime%60); 这个不需要取整吧 因为var lefttime=parseInt((endtime.getTime()-nowtime.getTime())/1000); 已经取为整数的秒了 这个必定是整数了
document.querySelector('#countDown').innerText =d+'天'+h+'小时'+m+'分钟'+s+'秒';
setTimeout(showTime,500);
if(leftTime <= 0){
document.querySelector('#countDown').innerText = '团购结束' ;
clearTimeout(showTime);
}
function countDown(year,month,day) {
var now=new Date(); //当前时间
var endTime=new Date(year,month-1,day); //目标时间
var leftTime = endTime.getTime() - now.getTime(); //倒数天数
leftTime=Math.ceil( leftTime/ (24*60*60*1000) );
return leftTime; }
直接写了个构造函数,直接加年月日
我觉得老师这个计时器定的不好,函数外面的定时器根本停不下来,当倒计时结束的时候其实定时器还在进行,只是lefttime<=0,一直显示“团购结束”,在它后面的clearInterval(sh)写不写都一样的,跳出函数时,定时器又开始了,虽然结果没什么区别,但是后台一直在运行计时器

已采纳回答 / syou_yu
%是取余数  因为lefttime是截止日期减现在时间的秒数60*60为1小时的秒数lefttime/(60*60)为截止日期减现在时间的总小时数最后总小时数%24为除了24小时(即一天)后剩下的小时数

已采纳回答 / 寻找光明的黑马
那是因为格式不对,你把这个换上试试<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
1.要判断是否超过了团购结束时间
2.建议设置1S执行,500毫秒刷新没有任何意义
setTImeout();只执行一次所以要放到fresh里面让他自己再次调用自己
必须用weekday[now.getDay()] ,如果用d=now.getDay() week[d]就不行,为什么啊

已采纳回答 / 非凡芳芳
Math.floor向下取整是指返回值为小于等于其数值参数的最大整数值。而parseInt取整则是忽略小数取整,不管四舍五入也不管向上或是向下的。单就这个例子的话,二者都可以用。但是很多情况下二者是不能混用的。除此之外,parseInt也支持数字字母混合,而Math.floor则不支持。
老师爆照~~吼吼~~
课程须知
您至少具备HTML/CSS、JavaScript的基础知识
老师告诉你能学到什么?
1.学会使用日期对象Date和方法。2.学会不同时间内容的获取。3.学会计算时差的方法。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消