倒计时小程序 setTimeout传递参数

 

  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("函数名("+参数+")",毫秒数),这里的参数只能是字符串形式的,而不能传递一个对象

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值