zoukankan      html  css  js  c++  java
  • 活动倒计时

    .daojs{ position:fixed; top:0; text-align:center; padding:10px 0; font-size:20px; color:#fff; width:100%; max-width:750px; background:rgba(0,0,0,0.8); filter:progid:DXImageTransform.Microsoft.gradient(startcolorstr=#8F000000,endcolorstr=#8F000000); z-index:999;}
    .daojs .time{ font-size:24px; color:#FF0;}
    <div class="daojs">活动倒计时:<span class="time" id="daojishi"></span></div>
    //倒计时
    var timer = setInterval("leftTimer()",1000); 
    $(function(){ leftTimer(); }) function leftTimer(){ var endTime = new Date(2017,9-1,30,0,0,0);//2017年9月30日00:00:00 var nowTime = new Date(); var leftTime = endTime.getTime() - nowTime.getTime(); //计算剩余的毫秒数 if(leftTime <= 0){ document.getElementById("daojishi").innerHTML = "活动已结束!";
         clearInterval(timer); }
    else{ var days = Math.floor(leftTime / 1000 / 60 / 60 / 24); //计算剩余的天数 var hours = Math.floor(leftTime / 1000 / 60 / 60 % 24); //计算剩余的小时 var minutes = Math.floor(leftTime / 1000 / 60 % 60);//计算剩余的分钟 var seconds = Math.floor(leftTime / 1000 % 60);//计算剩余的秒数 hours = checkTime(hours + days * 24); minutes = checkTime(minutes); seconds = checkTime(seconds); document.getElementById("daojishi").innerHTML = hours+"小时" + minutes+"分"+seconds+"秒"; } } function checkTime(i){ //将0-9的数字前面加上0,例1变为01 if(i<10) { i = "0" + i; } return i; }

    以上获取的是本地时间,如果用户修改了本地时间,那么显示倒计时就不正确了。可以获取服务器时间来解决这个问题,但是每一秒都请求服务器获取时间压力太大。

    所以如果拿服务器时间倒计时最好倒计时到分钟,每分钟请求一次服务器。

    具体实现:修改上面代码中的 nowTime,定时改为1分钟

    var nowTime = new Date($.ajax({async: false}).getResponseHeader("Date"))
    setInterval("leftTimer()",60000); 
  • 相关阅读:
    poj1047
    poj1129
    poj1050
    C#中break、continue的用法
    关于一个不大常用的SQL数据类型-UNIQUEIDENTIFIER
    关于net2.0里面新出现的类backgroundworker的应用
    深入讲解SQL Union和Union All的使用方法
    让你一次性搞定堆、栈、值类型、引用类型 (转载)
    EXEC与sp_executesql的区别及应用(转)
    几种常用排序算法总结(转载)
  • 原文地址:https://www.cnblogs.com/lujiulong/p/7607305.html
Copyright © 2011-2022 走看看