明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
随笔 - 1277, 文章 - 0, 评论 - 214, 阅读 - 321万
  博客园  :: 首页  :: 管理
< 2025年3月 >
23 24 25 26 27 28 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 29
30 31 1 2 3 4 5

Js : 封装对象显示倒计时...........

Posted on   且行且思  阅读(911)  评论(0编辑  收藏  举报

timeCountDown.js 对象插件:

 

复制代码
代码
/* by zhangxinxu 2010-07-27 
* http://www.zhangxinxu.com/
* 倒计时的实现
*/
var fnTimeCountDown = function(d, o){
    
var f = {
        zero: 
function(n){
            
var n = parseInt(n, 10);
            
if(n > 0){
                
if(n <= 9){
                    n 
= "0" + n;    
                }
                
return String(n);
            }
else{
                
return "00";    
            }
        },
        dv: 
function(){
            d 
= d || Date.UTC(205001); //如果未定义时间,则我们设定倒计时日期是2050年1月1日
            var future = new Date(d), now = new Date();
            
//现在将来秒差值
            var dur = Math.round((future.getTime() - now.getTime()) / 1000+ future.getTimezoneOffset() * 60, pms = {
                sec: 
"00",
                mini: 
"00",
                hour: 
"00",
                day: 
"00",
                month: 
"00",
                year: 
"0"
            };
            
if(dur > 0){
                pms.sec 
= f.zero(dur % 60);
                pms.mini 
= Math.floor((dur / 60)) > 0? f.zero(Math.floor((dur / 60)) % 60) : "00";
                pms.hour 
= Math.floor((dur / 3600)) > 0? f.zero(Math.floor((dur / 3600)) % 24) : "00";
                pms.day 
= Math.floor((dur / 86400)) > 0? f.zero(Math.floor((dur / 86400)) % 30) : "00";
                
//月份,以实际平均每月秒数计算
                pms.month = Math.floor((dur / 2629744)) > 0? f.zero(Math.floor((dur / 2629744)) % 12) : "00";
                
//年份,按按回归年365天5时48分46秒算
                pms.year = Math.floor((dur / 31556926)) > 0? Math.floor((dur / 31556926)) : "0";
            }
            
return pms;
        },
        ui: 
function(){
            
if(o.sec){
                o.sec.innerHTML 
= f.dv().sec;
            }
            
if(o.mini){
                o.mini.innerHTML 
= f.dv().mini;
            }
            
if(o.hour){
                o.hour.innerHTML 
= f.dv().hour;
            }
            
if(o.day){
                o.day.innerHTML 
= f.dv().day;
            }
            
if(o.month){
                o.month.innerHTML 
= f.dv().month;
            }
            
if(o.year){
                o.year.innerHTML 
= f.dv().year;
            }
            setTimeout(f.ui, 
1000);
        }
    };    
    f.ui();
};
复制代码

 

 

倒计时 - 实例

复制代码
代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>艾纳科技整理www.ainatec.com-JQ倒计时</title>
<style type="text/css">
.fl
{ float:left;}span{ float:left}
</style>
<script type="text/javascript" src="http://www.gzse7en.com/js/timeCountDown.js"></script>
</head>
<body>
   
<div class="fl">
                     
<div id="year" class="year fl">0</div><span></span>
                        
<div id="month" class="month fl">00</div><span></span>
                        
<div id="day" class="day fl">00</div><span></span>
                        
<div id="hour" class="hour fl">00</div><span></span>
                        
<div id="mini" class="fl mini ml5">00</div><span></span>
                        
<div id="sec" class="sec fl">00</div><span></span>
                        
</div>
                        
<script type="text/javascript">
var zxx = {
 $: 
function(id){
  
return document.getElementById(id); 
 },
 futureDate: Date.UTC(
205073012,0,0),
 obj: 
function(){
  
return {
   sec: zxx.$(
"sec"),
   mini: zxx.$(
"mini"),
   hour: zxx.$(
"hour"),
   day: zxx.$(
"day"),
   month: zxx.$(
"month"),
   year: zxx.$(
"year")
  }
 }
};
fnTimeCountDown(zxx.futureDate, zxx.obj());
</script> 
                        
</body>
</html>
复制代码

 

 

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
历史上的今天:
2006-09-26 ASP.NET中实现MSN通知消息功能!
2006-09-26 如何用多线程来实现ping多台机器??
点击右上角即可分享
微信分享提示