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

倒计时效果

难度初级
时长32分
学习人数
综合评分9.63
561人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.5 逻辑清晰

已采纳回答 / 风飘叶摇
楼上那位朋友说的是对的,在这个函数里,i只是一个代表你将要传递给函数的参数,实际上你要传递给函数的参数是m和s。i只是代表一个被复制过来的参数值,并不是一个实际存在的变量。如果你要写成i=(i<10)?("0"+i):i;那这个函数第一句你要先定义一个变量var i=i;这里代表的是你将你要传递给函数的参数先赋值给变量i。//封装一个函数,来检查时分秒      function checkTime(i) {        // if (i < 10) {        //   i = "0...

已采纳回答 / 小丑鱼yang
那只是显示上感觉不出来,你可以打开调试工具(F12或者Ctel+Shift+C)你可以清楚的看到显示时间的方法的一秒钟被调用两次,而1000是只有一次。

已采纳回答 / 迎风向上乀
第10行,定义目标时间的时候,里面要加上引号修改后如下var timedate= new Date('2017,4,20');

已采纳回答 / 研三学长
setTimeout放在函数体中调用自己,就是递归,至于setInterval和setTimeout的优劣可以参考高程3的技巧一章某些代码不可以在没有间断的情况连续重复执行。第一次调用函数,创建一个定时器,在指定的时间间隔之后运行代码。当第二次调用该函数时,它会清除前一次的定时器并设置另一个。如果前一个定时器已经执行过了,这个操作就没有任何意义。如果前一个定时器未执行,其实就是将其替换为一个新的定时器。目的是只有在执行函数的请求停止了一段时间之后才执行。

已采纳回答 / 骑士归来之时
  m=m.checkTime(m);   s=s.checkTime(s);改成 直接m=checkTime(m),中间不需要m.

已采纳回答 / magic_4
 d= parseInt(leftime/(1000*24*60*60))  ;  lefttime少了一个t其他就没有看到了···

已采纳回答 / Yexiaomo
当然可以!  setTimeout(code,millisec) 用于在指定的毫秒数后调用函数或计算表达式。(也就是指执行一次)setInterval(code,millisec) 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式(也就是永远不...

已采纳回答 / 熊猫兔击队
我个人的理解是,因为setTimeout是“等至少***ms才执行,且执行一次”,而不是“每隔***ms就执行(这是setInterval的功能)”。根据w3school的说明,setTimeout本身是没有循环的功能的。它之所以能“循环”是因为被showTime在内部的最后调用了,而showTime在调用setTimeout之前运行的代码也是要花时间的,那如果我们假设showTime的代码比较长,需要600ms才执行完,那你设setTimeout是500ms的话,总时间就是600 + 500 >1...

已采纳回答 / AllySu
运行环境一样?有没有复制粘贴?容易产生空格等等的错误

已采纳回答 / littlemin
window.onload = function() {    FreshTime();   }   var sh;   function FreshTime() {    // clearInterval(sh);    var endtime = new Date("2017/1/7,21:54:00"); //结束时间    var nowtime = new Date(); //当前时间    var lefttime = parseInt((endtime.getTime() - nowtime...

已采纳回答 / 慕设计2738587
var timedate= new Date(2017,2,7);去除设置的双引号

已采纳回答 / weixin_慕莱坞0529652
 function checkTime(i){  //补位处理      if(i<10)      {          i='0'+i;      }      return i;  }这里你写错了。你的 if(i<10)之后,并没有return出来值。只有i>=10的时候你的这个函数才会return值。

已采纳回答 / 慕仔3074982
t=setTimeout("showTime",500);showTime后边少了一对括号(),这里的意思是没500毫秒得调用一次函数,所以正确应该是t=setTimeout("showTime()",500);

已采纳回答 / ReusKai
只要小于1s就行,因为是时间是一秒一秒刷新的

已采纳回答 / dky
弹出对话框
首页上一页1234567下一页尾页
课程须知
您至少具备HTML/CSS、JavaScript的基础知识
老师告诉你能学到什么?
1.学会使用日期对象Date和方法。2.学会不同时间内容的获取。3.学会计算时差的方法。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消