EnderH

天是棺材盖,地是棺材板;喜怒哀乐事,全在棺材里!

电商限时购:精确到毫秒的倒计时!

现如今做电商网站必不可少的一个效果就是限时抢购,这也是各大电商网站的一种促销手段。下面的图片就是聚划算上面的限时抢的效果

一、实现限时抢的效果需要用到的知识 :Javascript Date()对象

  • Date()返回当前的日期和事件
  • getYear()返回年份 获得年最好用
  • getFullYear()方法来操作(完整格式如2016)
  • getMonth()返回月份值(从0开始,+1)
  • getDay()返回星期几(0-6)
  • getHours()返回小时数(0-23)
  • getMinutes()返回分钟数(0-59)
  • getSeconds()返回秒数
  • getTime()返回毫秒数

当然,上面的调用方法我们不一定全部用到,也要看你自己的需求,废话不多说,我们直接上代码:

  1、HTML页面代码:

<p class="left-time"></p>

我们把倒计时的内容放在class为left-time的<p>标签内.

  2、JS脚本:

$(function(){ 
    function leftTime(){
        var endTime = new Date("2016/5/20,12:00:00");//结束时间
        var curTime = new Date();//当前时间
        var leftTime = parseInt((endTime.getTime() - curTime.getTime())/1000);//获得时间差
        //小时、分、秒需要取模运算
        var d = parseInt(leftTime/(60*60*24));
        var h = parseInt(leftTime/(60*60)%24);
        var m = parseInt(leftTime/60%60);
        var s = parseInt(leftTime%60);
        var ms = parseInt(((endTime.getTime() - curTime.getTime())/100)%10);
        var txt = "剩余:"+d+"天"+h+"小时"+m+"分钟"+s+"."+ms+"秒";
        $(".left-time").text(txt);
        if(leftTime<=0){ $(".left-time").text("团购结束");}
    };
    leftTime();
    var set = setInterval(leftTime,100);
});

上面的js就实现了一个简单的限时抢的小例子,其中parseInt()方法是取整,getTime()把时间转化为毫秒,除了parseInt()方法之外,还可以用Math.floor()向下取整的方法代替.

最后记得不要忘记了给个if()判断时间结束的时候需要显示的内容哦,不然就会出现不必要的小bug哟!O(∩_∩)O~

posted on 2016-04-02 17:57  EnderH  阅读(1130)  评论(0编辑  收藏  举报

导航