首页 > Web开发 > 详细

工作总结_js倒计时

时间:2016-01-22 18:06:49      阅读:274      评论:0      收藏:0      [点我收藏+]

          最近在弄一个倒计时抽奖的项目,由于是每天的某个时间段所以,网上也没有找到自己合适的。就自己写了一个留下来以供参考。其中最值得注意的一点是不同种类型的手机对自定义的时间支持方式是不一样的。苹果时间只能支持/ 不支持- 安卓都可行。

           下面是代码。

         

        //苹果时间只能支持/ 不支持-
        var myDay = ["2016/01/22 10:00:00", "2016/01/22 16:00:00", "2016/01/24 12:00:00", "2016/01/24 14:00:00", "2016/01/24 15:00:00",
          "2016/01/25 10:00:00", "2016/01/25 11:00:00", "2016/01/25 12:00:00", "2016/01/25 14:00:00", "2016/01/25 15:00:00",
          "2016/01/26 10:00:00", "2016/01/26 11:00:00", "2016/01/26 12:00:00", "2016/01/26 14:00:00", "2016/01/26 15:00:00",
        ];

        var hh = "";
        var mm = "";
        var ss = "";
        var Day = "";

        //开始时间
        var starTime = "";
        //持续时间
        var continueTime = 3;
        //是否开始抽奖 默认不可以
        var isStart = false;
        var flg = true;
        //第一次进入
        var first = true;
        //服务器时间
        var ServerTime = "<%=DateTime.Now%>";

        $(function () {
            //第一次加载 ,防止中间的那一秒空缺
            D_Time();

            //累加服务器时间
            setInterval(function () {
                ServerTime = new Date(ServerTime).getTime() + 1000;
            }, 1000);

            setInterval("D_Time()", 1000);

    
        });



        function ChangeShowTime() {
            $.each(eval(myDay), function (i, item) {
                if (new Date(item).getDate() > new Date(ServerTime).getDate()) {
                    starTime = item;
                    return false;
                }   //当天
                if (new Date(item).getDate() == new Date(ServerTime).getDate()) {
                    //大于当前小时
                    if (new Date(item).getHours() > new Date(ServerTime).getHours()) {
                        starTime = item;
                        return false;
                    }
                        //等于当前小时
                    else if (new Date(item).getHours() == new Date(ServerTime).getHours()) {
                        //3分钟内
                        if (new Date(ServerTime).getMinutes() <= continueTime) {
                            starTime = item;
                            isStart = true;
                            return false;
                        }
                        else {
                            isStart = false;
                            starTime = item;
                            //return false;
                        }
                    }
                }
            });

        }

        function D_Time() {

            ChangeShowTime();

            if (isStart == true) {
                //3分钟之后
                setInterval(function () {
                    if (new Date(ServerTime).getMinutes() > continueTime) {
                        isStart = false;
                    }
                }, 1000);
                $("#timer").empty();
                $("#timer").append("<b>0<em></em></b><b>0<em></em></b> <span>小时</span> <b>0<em></em></b><b>0<em></em>"
                    + "</b><span>分钟</span><b>0<em></em></b> <b>0<em></em></b><span>秒</span>");

            } else {
                // ChangeShowTime();
                var myDate = new Date(ServerTime);
                var leftTime = new Date(starTime).getTime() - myDate.getTime();
                var leftsecond = parseInt(leftTime / 1000);
                var seconds = leftTime / 1000;
                var minutes = Math.floor(leftsecond / 60);
                var hours = Math.floor(minutes / 60);
                var days = Math.floor(hours / 24);
                var CDay = days;
                var CHour = hours % 24 + CDay * 24;
                var CMinute = minutes % 60;
                var CSecond = Math.floor(seconds % 60);
                if (CHour < 10) {
                    hh = "<b>0<em></em></b><b>" + CHour + "<em></em></b><span>";
                }
                else {
                    hh = "<b>" + CHour.toString().substr(0, 1) + "<em></em></b><b>" + CHour.toString().substr(1, 2) + "<em></em></b><span>";
                }
                if (CMinute < 10) {
                    mm = "</span><b>0<em></em></b><b>" + CMinute + "<em></em></b><span>";
                }
                else {
                    mm = "</span><b>" + CMinute.toString().substr(0, 1) + "<em></em></b><b>" + CMinute.toString().substr(1, 2) + "<em></em></b><span>";
                }
                if (CSecond < 10) {
                    ss = "</span><b>0<em></em></b><b>" + CSecond + "<em></em></b> <span>";
                }
                else {
                    ss = "</span><b>" + CSecond.toString().substr(0, 1) + "<em></em></b><b>" + CSecond.toString().substr(1, 2) + "<em></em></b> <span>";
                }
                $("#timer").empty();
                $("#timer").append("" + hh + "小时" + mm + "分钟" + ss + "秒</span>");
            }

        }

 

工作总结_js倒计时

原文:http://www.cnblogs.com/shuaif/p/5151658.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!