• 商品进行倒计时


      在很多时候,我们在做电子商城类的项目时,会经常用到倒计时,现在就给出常用的两种方法:

      1.只有一个倒计时:

      

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="/WEB-INF/tlds/c.tld" %>
    <%@ taglib uri="/WEB-INF/tlds/fmt.tld" prefix="fmt" %>
    <!doctype html>
    <html class="no-js">
    	<head>
    		<title>收银台息平台</title>
    		<script src="frame/pingxx/pingpp.js" type="text/javascript"></script>
    		<c:if test="${effectSecond >= 0}">
    			<script type="text/javascript">
    				 var SysSecond; 
    				 var InterValObj; 
    				  
    				 $(document).ready(function() { 
    					  SysSecond = parseInt($("#remainSeconds").html()); //这里获取倒计时的起始时间 
    					  InterValObj = window.setInterval(SetRemainTime, 1000); //间隔函数,1秒执行 
    				 }); 
    				 
    				 //将时间减去1秒,计算天、时、分、秒 
    				 function SetRemainTime() { 
    				  	if (SysSecond > 0) { 
    					   SysSecond = SysSecond - 1; 
    					   var second = Math.floor(SysSecond % 60);             // 计算秒     
    					   var minite = Math.floor((SysSecond / 60) % 60);      //计算分 
    					   var hour = Math.floor((SysSecond / 3600) % 24);      //计算小时 
    					   var day = Math.floor((SysSecond / 3600) / 24);        //计算天 
    					 
    					   $("#remainTime").html(hour + "小时" + minite + "分" + second + "秒");
    					} else {//剩余时间小于或等于0的时候,就停止间隔函数 
    						window.clearInterval(InterValObj);
    						// 这里可以添加倒计时时间为0后需要执行的事件 
    						var ordersID = $("#ordersID").val();
    						Alert({
    							msg : "订单已失效", 
    							ok : function() {
    								$.ajax({
    									type : 'post', 
    									url : 'orders/cancelOrders.do', 
    									data : {
    										'id': ordersID
    									}, 
    									dataType : 'json', 
    									async : true, 
    									success : function(data) {
    										if (data.success) {
    											history.back(-1);
    										}
    									}
    								});
    							}
    						});
    					}
    				}
    			</script> 
    		</c:if>
    	</head>
    	<body>
    		<header data-am-widget="header" class="am-header am-header-fixed am-header-default">
    			<div class="am-header-left am-header-nav">
    				<a href="javascript:history.back();">
    					<i class="am-header-icon am-icon-angle-left am-icon-sm"></i>
    				</a>
    			</div>
    			<h1 class="am-header-title">
    				<a href="#">收银台</a>
    			</h1>
    		</header>
    		
    		<div class="blank1"></div>
    		
    		<!-- 列表 -->
    		<ul class="am-list list">
    			<c:if test="${effectSecond > 0 }">
    				<li class="am-padding-sm">
    					<div>
    						<span>请您于</span>
    						<span id="remainSeconds" style="display:none">${effectSecond}</span> 
    						<span id="remainTime" style="font-size:20px;font-weight:800;color:#FF9900"></span> 
    						<span>内付款,超时订单将自动关闭</span>
    						
    					</div>
    				</li>
    			</c:if>
    			<li class="am-padding-sm">
    				<input id="ordersID" name="ordersID" value="${orders.id }" type="hidden"/>
    				<div>
    					<span>订单编号</span>
    					<span class="gray am-fr">${orders.no }</span>
    					<input id="ordersNo" name="ordersNo" value="${orders.no }" type="hidden"/>
    				</div>
    			</li>
    			<li class="am-padding-sm">
    				<div>
    					<span>订单金额</span>
    					<span class="red am-fr">${orders.price }元</span>
    					<input id="ordersPrice" name="ordersPrice" value="${orders.price }" type="hidden"/>
    				</div>
    			</li>
    		</ul>
    		
    		<div class="blank1"></div>
    		<ul class="am-list list">
    			<li class="am-padding-sm">
    				<c:if test="${orders.price == 0}">
    					<div>
    						<span>您已成功兑换此信息</span>
    						<span style="float:right;"><a href="javascript:void(0)" onclick="ordersByVoucher()">点击查看订单详情</a></span>
    					</div>
    				</c:if>
    			</li>
    		</ul>
    		
    		<c:if test="${orders.price > 0}">
    			<div class="am-padding-sm bg_white">支付方式</div>
    			<hr class="am-margin-0"/>
    			<div class="am-padding-horizontal-xs bg_white">
    				<ul class="am-list list">
    					<li class="entry" style="border-top:0px;">
    						<a href="javascript:void(0)" onclick="payByBalance()">
    							<img src="img/ico_pay_balance.png" class="am-inline-block am-vertical-align-bottom" style="max-height:4rem;"/>
    							<span class="am-inline-block am-vertical-align-bottom">
    								<div class="am-text-lg">账户余额支付</div>
    								<div class="am-text-sm">(余额:${userAmount.balance}元)</div>
    								<input id="balance" name="balance" value="${userAmount.balance}" type="hidden"/>
    							</span>
    						</a>
    					</li>
    					<li class="entry">
    						<a href="javascript:void(0)" onclick="payment('wx_pub')">
    							<img src="img/ico_pay_WeChat.png" class="am-inline-block am-vertical-align-bottom" style="max-height:4rem;"/>
    							<span class="am-inline-block am-vertical-align-bottom">
    								<div class="am-text-lg">微信支付</div>
    								<div class="am-text-sm">微信安全支付</div>
    							</span>
    						</a>
    					</li>
    				</ul>
    			</div>
    		</c:if>
    		
    	</body>
    </html>
    

     

      2.一个页面中多个商品倒计时
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Jquery一个页面中多个商品进行倒计时</title>
    <script language="javascript" src="/js/jquery.js"></script>
    <script type="text/javascript">
                $(function(){
                    updateEndTime();
                });
                //倒计时函数
                function updateEndTime(){
                    var date = new Date();
                     var time = date.getTime();  //当前时间距1970年1月1日之间的毫秒数
                 
                    $(".settime").each(function(i){
                     
                    var endDate =this.getAttribute("endTime"); //结束时间字符串
                    //转换为时间日期类型
                    var endDate1 = eval('new Date(' + endDate.replace(/d+(?=-[^-]+$)/, function (a) { return parseInt(a, 10) - 1; }).match(/d+/g) + ')');
                    
                    var endTime = endDate1.getTime(); //结束时间毫秒数
                     
                     var lag = (endTime - time) / 1000; //当前时间和结束时间之间的秒数
                      if(lag > 0)
                      {
                       var second = Math.floor(lag % 60);    
                       var minite = Math.floor((lag / 60) % 60);
                       var hour = Math.floor((lag / 3600) % 24);
                       var day = Math.floor((lag / 3600) / 24);
                       $(this).html(day+""+hour+"小时"+minite+""+second+"");
                      }
                  else
                   $(this).html("抢购已经结束啦!");
                 });
                 setTimeout("updateEndTime()",1000);
                }
        </script>
    </head>
    
    <body>
    <div class="settime" endTime="2012-5-30 12:1:1"></div>
    可以写在循环里,只有保持跟上面的ID一致就可以啦
    <div class="settime" endTime="2012-5-29 14:58:7"></div>
    </body>
    </html>
  • 相关阅读:
    对于CD翻录的一些记录
    暑期实践
    暑期实践
    垃圾处理器-CMS
    离合器半联动点的判断和技巧
    Win10+VS2019+OpenCV环境配置
    C++ 学习资料
    科目二起步原理
    道路交通安全违法行为记分分值分类总结
    NWERC 2020 题解
  • 原文地址:https://www.cnblogs.com/zmengj/p/6434251.html
Copyright © 2020-2023  润新知