js实现支付页面的倒计时

    一般涉及到电商的都会涉及到倒计时,比如下单后在30min中付款,预售商品倒计时开始,秒杀倒计时等等,都需要显示倒计时作为提示,下面是一个简单的实现。

html部分:

<div id="remainTime" style="font-size:12px;font-weight:600;color:#FF5722;></div>

JavaScript部分 

<script>
//支付剩余时间倒计时
$(function(orderDate){  //orderDate是订单生效时间,后台的Date类型传到前端成了毫秒
    var now=new Date();
    var end=new Date(orderDate+30*60*1000);  //提交订单的时间+30min就是订单失效时间,后台Date传过来变成了毫秒

    /*两个时间相减,得到的是毫秒ms,变成秒*/
    var result=Math.floor(end-now)/1000; //result= 30*60s;
    var interval=setInterval(sub,1000); //定时器 调度对象
    /*封装减1秒的函数*/
    function sub(){
        if (result>1) {
            result = result - 1;
            var second = Math.floor(result % 60);     // 计算秒 ,取余
            var minite = Math.floor((result / 60) % 60); //计算分 ,换算有多少分,取余,余出多少秒
            //var hour = Math.floor(result/1000/60/60%24);  //计算小时,这里最长只有30min,用不着
            //var day = Math.floor(result/1000/60/60/24);   //计算天,这里最长只有30min,用不着
            $("#remainTime").html("支付剩余时间:" + minite + "分" + second + "秒");
        } else{
            //这里可以添加倒计时结束后需要执行的事件
            alert("未在规定时间内支付,订单已失效!");
            window.clearInterval(interval);  
            //TODO 订单失效后的一些列操作:更改订单状态的同时回库存
        }
    };
});
</script>

效果: 

30min到了之后: 

 

  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值