zoukankan      html  css  js  c++  java
  • jQuery倒计时

    $(function(){
        var tYear = "";        //输入的年份
        var tMonth = "";    //输入的月份
        var tDate = "";        //输入的日期
        var iRemain = "";    //开始和结束之间相差的毫秒数
        var sDate = "";        //倒计的天数
        var sHour = "";        //倒计时的小时
        var sMin = "";        //倒计时的分钟
        var sSec = "";        //倒计时的秒数
        var sMsec = "";        //毫秒数
    
        //通用工具函数,在个位数上加零,根据传的N的参数,来设前面加几个零
        function setDig(num,n){
            var str = ""+num;
            while(str.length<n){
                str="0"+str
            }
            return str;
        }
        
        //获得相差的天,小时,分钟,秒
        function getdate(){
            
            //创建开始时间和结束时间的日期对象
            var oStartDate = new Date();
            var oEndDate = new Date();
            
            //获取文本框的值
            tYear = $("#tyear").val();
            tMonth = $("#tmonth").val();
            tDate = $("#tdate").val();
            
            //设置结束时间
            oEndDate.setFullYear(parseInt(tYear));
            oEndDate.setMonth(parseInt(tMonth)-1);
            oEndDate.setDate(parseInt(tDate));
            oEndDate.setHours(0);
            oEndDate.setMinutes(0);
            oEndDate.setSeconds(0);
            
            //求出开始和结束时间的秒数(除以1000)
            iRemain = (oEndDate.getTime() - oStartDate.getTime())/1000;
            
            //总的秒数除以一天的秒数,再取出整数部分,就得出有多少天。
            sDate = setDig(parseInt(iRemain/(60*60*24)),3);
            //总的秒数除以一天的秒数,然后取其中的余数,就是把整数天扣除之后,剩下的总秒数。
            iRemain %= 60*60*24;
            
            //剩下的总秒数除以一个小时的秒数,再取整数部分,就是有多少小时。
            sHour = setDig(parseInt(iRemain/(60*60)),2)
            
            //剩下的总秒数除以一个小时的秒数,再取其余数,这个余数,就是扣除小时这后,剩下的总秒数。
            iRemain %= 60*60;
            
            //剩下的总秒数除以一分钟的秒数,再取其整数部分,就是有多少分钟。
            sMin = setDig(parseInt(iRemain/60),2)
            
            //剩下的总秒数除以一分钟的秒数,再取其余数,这个余数,就是扣除分钟之后,剩下的总秒数。
            iRemain%=60;
            
            //剩下的秒数
            sSec = setDig(iRemain,2);
            
            //毫秒数
            sMsec = sSec*100;        
        }
        
        //更改显示的时间
        function updateShow(){
            $(".showdate span").text(tYear+"-"+tMonth+"-"+tDate);
            $(".count span").each(function(index, element) {
                if(index==0){
                    $(this).text(sDate);
                }else if(index==1){
                    $(this).text(sHour);
                }else if(index == 2){
                    $(this).text(sMin);
                }else if(index == 3){
                    $(this).text(sSec);
                }else if(index == 4){
                    $(this).text(sMsec);
                }    
            });
        }
        
        //每一秒执行一次时间更新
        function autoTime(){
            getdate();
            //如果小于零,清除调用自己,并且返回
            if(iRemain<0){
                clearTimeout(setT);
                return;
            }
            updateShow();
            var setT = setTimeout(autoTime,1000);
            
        }
        
        //点击按钮开始计时
        $("button").click(function(){
                autoTime();
        })
    })

    昨天看了“妙味课堂”的倒计时视频,自己学着写了下。

    记录需要注意的地方:

      1.取模运算:

      iRemain %= 60*60*24;  
      
      就是返回余数,在这个实例中的余数,就是把整数拿走后,剩下的秒数。

     2.工具函数 setDig(num,n)


      可以根据传入的参数,自动在传入的数字前加零

    DEMO下载
  • 相关阅读:
    flashdevelop生成swc库(转)
    SOG and COG spec
    [C]switch...case...一个case包含多个值的一种写法
    [C]赋值语句返回值
    Antenna知识整理
    SPI接口比IIC速度快的理解
    C语言代码的换行
    SRRC认证
    蓝牙协议分析(6)_BLE地址类型
    结构体变量和指针对成员的引用形式
  • 原文地址:https://www.cnblogs.com/lufy/p/2525494.html
Copyright © 2011-2022 走看看