抢购代码

function newTimeRun(nowTime, beginTime, overTime,classname){    var unStartTimeLength =   new Date(beginTime) - new Date(nowTime),//未开始的时间长度    //var unStartTimeLength =   new Date(beginTime).getTime() - new Date(nowTime).getTime(),//未开始的时间长度        endTimeLength = new Date(nowTime) - new Date(overTime),//已过期的时间长度        timingLength =  new Date(overTime) -  new Date(nowTime);//抢购中的时间长度    //未开始    if(unStartTimeLength > 0){        countDown(unStartTimeLength,function(time){                var hour = formatNum(time[0] * 24 + time[1]),                    min = formatNum(time[2]),                    sec = formatNum(time[3]);                classname.html(‘<span class="timeTxt">离特惠开始还剩 <span class="remain">‘ + hour + ‘:‘ + min + ‘:‘ + sec +‘</span></span>‘)            },            function(){                countDown(timingLength,function(time){                    var hour = time[0] * 24 + time[1],                        min = time[2],                        sec = time[3];                    classname.html(‘<span class="timeTxt">离特惠结束还剩 <span class="remain">‘ + hour + ‘:‘ + min + ‘:‘ + sec +‘</span></span>‘);                },function(){                    classname.html(‘<span class="timeTxt">本场特惠已结束</span>‘);                })            });    }    //过期    else if(endTimeLength >=0){        classname.html(‘<span class="timeTxt">本场特惠已结束</span>‘);    }    //开始-结束    else{        countDown(timingLength,function(time){            var hour = formatNum(time[0] * 24 + time[1]),                min = formatNum(time[2]),                sec = formatNum(time[3]);            classname.html(‘<span class="timeTxt">离特惠结束还剩 <span class="remain">‘ + hour + ‘:‘ + min + ‘:‘ + sec +‘</span></span>‘);        },function(){            classname.html(‘<span class="timeTxt">本场特惠已结束</span>‘);        })    }}
function countDown(times, fn, endFn) {    if (typeof times === "number") {        times = calculateTime(times);    } else if (Object.prototype.toString.apply(times) === "[object Date]") {        var ms = times.getTime() - new Date().getTime()        times = calculateTime(ms);        setTimeout(function () {            countDown(times, fn, endFn);        }, ms % 1000);        return;    }    fn(times);    // 一开始先执行一次    var intervalMac = setInterval(function () {        var timesLen = times.length,            scales = [24, 60, 60],            scalesLen = scales.length;        for (var i = timesLen; i--;) {            if (times[i] > 0) {                times[i] = times[i] - 1;                break;            }            // 等于0,非首位的处理            if (i !== 0) {                times[i] = scales[scalesLen -(timesLen - i)] - 1;            } else { // 一直到首位都为0,倒计时结束                for (var j = 0; j < times.length; j++) {                    times[j] = 0;                }                clearInterval(intervalMac);                return;            }        }        fn(times);        if(typeof endFn === "function"){            var isEnd = true;            for(var i = 0,len = times.length;i < len;i++){                if(times[i] !== 0){                    isEnd = false;                    break;                }            }            if(isEnd){                endFn(times);            }        }    }, 1000);}//把毫秒转换成数组[day, hour, minute, second]function calculateTime(time) {    if (time < 0) {        return [0, 0, 0, 0];    }    time = Math.floor(time / 1000);    var times = [], scales = [86400, 3600, 60];    for (var i = 0; i < scales.length; i++) {        times.push(Math.floor(time / scales[i]));        time %= scales[i];    }    times.push(time);    return times;}

调用
$(".box3").each(function(i,elem){    var date = new Date();

    var uStartTime = $(elem).attr("zy-s-time"),        uEndTime = $(elem).attr("zy-e-time"),        timeSpan = $(".timeW",elem);    newTimeRun(date,uStartTime,uEndTime,timeSpan);})

注意时间格式
时间: 2024-11-08 15:40:19

抢购代码的相关文章

抢购代码留存

//phpinfo();header("Content-type:text/html;charset=utf-8");include 'Mysql.class.php'; $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $id = $_GET['id']?$_GET['id']:1; if($_GET["action"] == "add"){          $mysql

分页优化+表锁和库存优化+数据库的备份和导入

一.分页优化技术 代码参看: php/classic.php 把50331651记录进行分页,每页显示2条记录,于是我们用传统php编码方式,编写分页代码如下: 上传到/var/www/html下进行测试,结果如下: 如果访问第1页和第4页,返回语句: 使用explain执行计划查询比较靠前的页数,发觉速度很快因为可以使用上索引: 如果访问第4100000页,返回语句: 使用explain分析结果如下: 发觉这时如果分页到了中间的页数,这时我们既需要排序又要分页检索数据的时候,就会出现Using

错误和问题解决的成本

问题描写叙述 错误 数据收集 根本原因 版本号   组件:数据修复           在一个实际成本组织中,(平均,先进先出,后进先出) 一个或更 多的下面情况可能发生: 1.导航到物料成本历史表单上的数量信息,与现有量表单的数量不匹配的记录 2. 一些物料前期已计成本的数量与前面的事务处理历史表单的数量不匹配 3. 全部的库存值报表与事务处理值报表不匹配 4. 存货层次成本更新表单的总数量与现有量数量表单不匹配(只在先进先出/后进先出) 5.这些症状的不论什么一个意味着 MMT-CQL不匹配

JS原生代码之倒计时抢购

刚刚用了一点时间把完善了的倒计时抢购功能又做了一遍,这回用的是原声代码,没有引入jquery库,虽然明显感觉原生代码量要多一些,但是写出来个小功能还是很有成就感的.需要注意的就是代码顺序执行的问题,一定要思路清晰.要不然代码顺序写错,有些功能还是实现不了的. 学到了原声js改变input的disabled的属性值,因为想让倒计时结束的同时,抢购按钮可以被点击.代码为:document.getElementById("buy").disabled = "";或者dis

在线抢购系统项目设计(核心代码)

目录文件说明 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ├── README  -- Doc文档 ├── db  -- 数据库约束文件 ├── mvnw ├── mvnw.cmd ├── pom.xml  -- 项目依赖 └── src     ├── main     │   ├── java     │   │   └── com     │   │       └── imooc     │   │       

电商的秒杀和抢购

转载自:[问底]徐汉彬:Web系统大规模并发——电商秒杀与抢购 电商的秒杀和抢购,对我们来说,都不是一个陌生的东西.然而,从技术的角度来说,这对于Web系统是一个巨大的考验.当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要.这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因? 一.大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战.如果We

Web系统大规模并发——电商秒杀与抢购

电商的秒杀和抢购,对我们来说,都不是一个陌生的东西.然而,从技术的角度来说,这对于Web系统是一个巨大的考验.当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要.这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因? 一.大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战.如果Web系统不做针对性的优化,会轻而易举地陷入到异常状态.我们现在一起

徐汉彬:Web系统大规模并发——电商秒杀与抢购(转)

[导读]徐汉彬曾在阿里巴巴和腾讯从事4年多的技术研发工作,负责过日请求量过亿的Web系统升级与重构,目前在小满科技创业,从事SaaS服务技术建设. 电商的秒杀和抢购,对我们来说,都不是一个陌生的东西.然而,从技术的角度来说,这对于Web系统是一个巨大的考验.当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要.这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因? 一.大规模并发带来的挑战 在过去的工作中,我曾经面对过5

从电商秒杀与抢购谈Web系统大规模并发

从电商秒杀与抢购谈Web系统大规模并发 http://www.iamlintao.com/4242.html 一.大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战.如果Web系统不做针对性的优化,会轻而易举地陷入到异常状态.我们现在一起来讨论下,优化的思路和方法哈. 1. 请求接口的合理设计 一个秒杀或者抢购页面,通常分为2个部分,一个是静态的HTML等内容,另一个就是参与秒杀的Web后台请求接口. 通常静态HTML等