倒计时是web开发中比较常用的,以下列出常用的几个倒计时方法,仅供参考:

一 :页面倒计时 原理一般都是通过 setTimeout 或 setInterval 函数实现,下面是一个最简单的倒计时

<script type="text/javascript">
var second=10;
var timer;
function change()
{
  second--;
 
 if(second>-1)
 {
  document.getElementById("second").innerHTML=second;
  timer = setTimeout('change()',1000);//调用自身实现
 }
 else
 {
   clearTimeout(timer);
 }
}
timer = setTimeout('change()',1000);
</script>

二:用于页面显示服务器时间,或本地时间(每秒钟读取当前时间再以指定的格式显示)

<script type=text/javascript>
var now = new Date();
function CurentTime(){
    var mm = now.getMinutes();  
    var ss = now.getTime() % 60000;
    ss = (ss - (ss % 1000)) / 1000;  
    var clock = now.getHours() +':';  
    if (mm < 10) clock += '0'; 
    clock += mm+':';  
    if (ss < 10) clock += '0';  
    return(clock + ss); 
}  
function showTime(){  
    document.getElementById("clock").innerHTML = now.getYear()+"."+(now.getMonth()+1)+"."+now.getDate()+"    "+ CurentTime();now.setSeconds(now.getSeconds()+1);} 
    
 window.onload=start;
 function start(){
    setInterval(showTime,1000);   
}

</script>
现在时间:<body><span id="clock"></span></body>

三:由玩家提交数据的倒计时,或者是服务器返回一个剩余的秒数,比如玩家升级了某个建筑,需要2个小时,
前台从2*3600开始计时,同时保存当前数据,玩家下次刷新页面时便读取剩余的秒数。下面这个倒计时是 从 游戏<中国故事>中改写的,
这个游戏中有大量的倒计时,函数event_timer 实际有2个参数,他将每个建筑或单位标志一个唯一的id来计时的 
<html>
  <script type="text/javascript">
  function start_event_timer(){
    document.getElementById('showTime').style.display = '';    
    var val =document.getElementById('val_text').value;
    event_timer(val);
   }
  //开始计时
  function event_timer(time_remain) {  
     //由页面提交的时间与服务器时间一般都有2~4秒的差值
     rt = parseInt(time_remain) + 4;s
        var eventid=document.getElementById('event_time_remain');
    var senond_remain=document.getElementById('senond_remain');
    if (rt == 0) {  
       alert("timeover");
       window.location.reload();
    }else {   
       eventid.innerHTML = time_format(rt);
       senond_remain.innerHTML = rt;
       time_remain = time_remain - 1;
       setTimeout("event_timer('" + time_remain + "')",1000); 
    }
}

// 以hh:mm:ss格式化时间,可以根据需要 定义格式 
function time_format(s) {
var t;
if(s > -1){
    hour = Math.floor(s/3600);
    min = Math.floor(s/60) % 60;
    sec = s % 60;
    day = parseInt(hour / 24);
    if (day > 0) {
        hour = hour - 24 * day;
        t = day + "天," + hour + ":";
        }
    else t = hour + ":";
    
    if(min < 10){t += "0";}
        t += min + ":";
    if(sec < 10){t += "0";}
        t += sec;}
else
    {t = "0:00:0x";}
return t;
}
  </script>
  <body>
   <center>
   输入计时的秒数:<input type="text" id="val_text" size="5"/>
<input type ="button" onclick="start_event_timer();" value ="start"/>
<div style="display:none" id="showTime">
   <p class="event_class" style="color: blue;">倒计时: <span id="event_time_remain"></span>
  &nbsp; 剩余<span id="senond_remain"></span>秒
</div>
</center>
  </body>
</html>

四,网上的一个无刷新的倒计时,这个所谓的'无刷新',就是将剩余的秒数保存到 浏览器对象
 window.name中,只要窗口未关闭,值就在。个人感觉没有实际的用途,刷新就是要重新读服务器数据,实时更新的
不是在做静态页面...

<SCRIPT LANGUAGE="JavaScript">
<!--
var maxtime;
alert(window.name);
if(window.name==''){
maxtime = 60*60;
}else{
maxtime = window.name;
}
function CountDown(){
if(maxtime>=0){
minutes = Math.floor(maxtime/60);
seconds = Math.floor(maxtime%60);
msg = "还有"+minutes+"分"+seconds+"秒";
document.all["timer"].innerHTML = msg;
--maxtime;
window.name = maxtime;
}
else{
clearInterval(timer);
alert("time over");
}
}
timer = setInterval("CountDown()",1000);
//-->
</SCRIPT>
<div id="timer" style="color:red"> </div>

[JavaScript]常用的页面倒计时的更多相关文章

  1. Javascript之实现页面倒计时效果

    本文将从需求实现的角度,逐步讲解如何在页面上实现倒计时效果,其中部分涉及到的知识会做拓展讲解,最后将所有代码封装,适用于不同情况下倒计时功能的实现. 效果图 一.分析需求 要实现倒计时效果,可拆解为以 ...

  2. javascript 常用获取页面宽高信息 API

    在页面的构建中 常常会需要获取页面的一些宽高信息,例如实现 惰性加载图片 需要获取页面的可见区域高度 和 已滚动区域的高度,以判断图片所在位置是否可见来决定加载图片的时间, 花点时间整理了一下,获取页 ...

  3. 第二篇、JavaScript常用的API

    下面是我整理的一些JavaScript常用的API清单. 目录 元素查找 class操作 节点操作 属性操作 内容操作 css操作 位置大小 事件 DOM加载完毕 绑定上下文 去除空格 Ajax JS ...

  4. javascript常用代码大全

    http://caibaojian.com/288.html    原文链接 jquery选中radio //如果之前有选中的,则把选中radio取消掉 $("#tj_cat .pro_ca ...

  5. Javascript 常用函数【3】

    jquery选中radio //如果之前有选中的,则把选中radio取消掉 $("#tj_cat .pro_category").each(function() { if ($(t ...

  6. 【javascript】javascript常用函数大全

    javascript函数一共可分为五类:   •常规函数   •数组函数   •日期函数   •数学函数   •字符串函数   1.常规函数   javascript常规函数包括以下9个函数:   ( ...

  7. 页面倒计时跳转页面效果,js倒计时效果

    页面倒计时跳转页面效果,js倒计时效果 >>>>>>>>>>>>>>>>>>>> ...

  8. 【前端】javaScript 常用技巧总结

    javaScript 常用技巧总结 1.  彻底屏蔽鼠标右键  oncontextmenu="window.event.returnValue=false" <table b ...

  9. javascript 常用手势 分析

    javascript 常用手势, 个人觉得有3个 tap,swipe(swipeLeft,swipeRight,swipeTop,swipeRight),hold tap 是轻击 判断的原则是,在to ...

随机推荐

  1. 初识Quartz(二)

    简单作业: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 package quartz_pr ...

  2. ubuntu16安装docker

    首先确保curl已经安装! 然后执行: curl -sSL https://get.docker.com/|sudo sh 这个是通过脚本的方式安装docker. 运行命令测试 sudo docker ...

  3. 李洪强iOS开发之OC语言前期准备

    OC语言前期准备 一.OC简介 Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码. 可以使用OC开发mac osx平台和ios平台的应 ...

  4. windows2008,命令行远程登录

    命令行强制开启3389服务支持server2008和2003 1.C:\Windows\System32\wbem\wmic /namespace:\\root\cimv2\terminalservi ...

  5. 华为终端开放实验室Android Beta 4测试能力上线

    ​​​7月26日,Android P Beta 4发布(即Android P DP5),此版本为开发者最后一个预览版本,也预示着Android P正式版即将与大家见面. 为保证开发者在正式版本来临前做 ...

  6. 在 RHEL/CentOS 7 上配置NTP时间服务器

    一.NTP简介 网络时间协议 - NTP - 是运行在传输层 123 号端口的 UDP 协议,它允许计算机通过网络同步准确时间.随着时间的流逝,计算机内部时间会出现漂移,这会导致时间不一致问题,尤其是 ...

  7. eclipse 配置JDK

    JDK安装成功,eclipse也安装成功,这时候实际上是可以不配置JDK,因为系统已经默认给你配置好了,但是下面的情况需要配置:1.你系统中安装了多个JDK,某个项目工程需要更高版本的JDK等 工具/ ...

  8. sz与rz

    yum安装root 账号登陆后执行以下命令:yum install -y lrzsz使用说明sz命令发送文件到本地:# sz filenamerz命令本地上传文件到服务器:# rz https://w ...

  9. mysql小知识点汇总

    附录:(更新于2013-11-21) sql必知必会学习笔记:http://www.cnblogs.com/IPrograming/category/509859.html mysql 基本命令学习: ...

  10. 启发式搜索技术A*

    开篇 这篇文章介绍找最短路径的一种算法,它的字我比较喜欢:启发式搜索. 对于入门的好文章不多,而这篇文章就是为初学者而写的,很适合入门的一篇.文章定位:非专业性A*文章,很适合入门. 有图有真相,先给 ...