微信小程序> 倒计时小程序setTimeout传递参数

倒计时小程序setTimeout传递参数

浏览量:2028 时间: 来源:iteye_12721

 

  1. var startTime = new Date();//获得当前的时间startTime.setFullYear(2016, 5, 27);//调用设置年份startTime.setHours(23);//调用设置指定的时间的小时字段startTime.setMinutes(59);//调用设置指定时间的分钟字段startTime.setSeconds(59);//调用设置指定时间的秒钟字段startTime.setMilliseconds(999);//调用置指定时间的毫秒字段var EndTime=startTime.getTime();//获得截至的时间var nMS = EndTime - NowTime.getTime();//截至时间减去当前时间获得剩余时间var nD = Math.floor(nMS/(1000 * 60 * 60 * 24));//定义参数 获得天数var nH = Math.floor(nMS/(1000*60*60)) % 24;//定义参数 获得小时var nM = Math.floor(nMS/(1000*60)) % 60;//定义参数 获得分钟var nS = Math.floor(nMS/1000) % 60;//定义参数 获得秒钟 这些就是当前时间

在我看来在倒计时中最重要的其实无非就那么几点

其一,找好逻辑关系。弄清楚是当前时间减去最后的时间倒计时还是最后的时间减去当前时间倒计时。

毫无疑问,大多数的倒计时都应该是用最后的时间减去当前时间,因为最后的时间是固定的,而当前时间在走,因此才实现倒计时。

第二,就是时间的换算,这个就是上面已经说的,很容易。

第三,其实也是最重要的就是,setTimeOut()方法的应用,我在这就算是栽了大跟头,

这个方法,是每隔一段时间,重复执行某一段函数。

function countDownTime(strP_Time){    var my_time=showTime();    my_time=(new Date(my_time)).getTime();    var dateDigitToString = function (num)   {        return num  10 ? '0' + num : num;    };    var msg='';    var publish_time=strP_Time+18000000;    var now_time=my_time;    var remain_time=publish_time-my_time;    var nH = dateDigitToString(Math.floor(remain_time/(1000*60*60)) % 24);    var nM = dateDigitToString(Math.floor(remain_time / (1000 * 60)) % 60);    var nS = dateDigitToString(Math.floor(remain_time / 1000) % 60);    if(nS=0)    {        msg = nH+":"+nM + ":" + nS;    }    else    {        msg='00'+' '+':'+' '+'00'+' '+':'+' '+'00';    }    $('.add').html('&nbsp'+'&nbsp'+'&nbsp'+'&nbsp'+'&nbsp'+'揭晓倒计时'+' '+msg);    setTimeout(function(){countDownTime(strP_Time)},1000);}

 当setTimout()方法需要传递参数的时候

window.settimeout()方法要调用带参数的函数有两种方法:1.function init(){var url = "%=basePath%fetchwater.do?method=searchRealWater&xzqh=" + "%=xzqh%" + "&rand="+Math.random(); //alert(url); window.setTimeout(function(){ searchJDWater(url);},100);}2.function init(){var url = "%=basePath%fetchwater.do?method=searchRealWater&xzqh=" + "%=xzqh%" + "&rand="+Math.random(); //alert(url); window.setTimeout(“searchJDWater(”+url+“)”, 100);}注意: 带参数方法使用setTimeout要注意,setTimeout("函数名("+参数+")",毫秒数),这里的参数只能是字符串形式的,而不能传递一个对象

 

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎