亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

javascript 實現 秒殺,團購 倒計時展示的記錄 分享

2019-11-20 22:31:51
字體:
來源:轉載
供稿:網友

最近做了一個房產的秒殺,團購的電子商務網站(房子也有秒殺,出手不小啊),其中里面有一個秒殺的倒計時展示,主要是判斷當前時間距離秒殺開始還有多少時間,還有秒殺開始和秒殺結束的各種展示。
其中最主要的一點就是所謂的當前時間不能使用瀏覽器通過new Date()獲取的客戶端時間,這樣只要用戶修改了自己的機器時間那么倒計時就會亂透了,所以這個當前時間必須使用的是服務器時間,所以采用的是靜態緩存頁面所以這個當前時間使用ajax方式進行獲取

復制代碼 代碼如下:

<!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" lang="zh-CN">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta http-equiv="Content-Language" content="zh-CN" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<meta content="all" name="robots" />
<meta name="author" content="" />
</head>
<body onload='start()'>
.
距活動開始還有:<span id="sk_time"></span> <!-- 這個是倒計時的顯示 -->
.
<br/>
<span id="wyz">
<span class="btn_02">  參加秒殺?。?!  </span> <!-- 這個是秒殺按鈕,倒計時為0時會變成可以秒殺的樣式 -->
</span>
.
<script type="text/javascript">
var msbegintime = "1323446400000"; //這個是活動開始的時間戳
var msendtime = "1325174400000"; //這個是活動結束的時間戳
function start(){
    callBackServerTime("sk_time", "wyz", msbegintime, msendtime);
}
//_showtimediv:時間顯示區域,_showqdiv:狀態顯示區域
//這個向服務器發送一個ajax請求,服務器返回服務器當前的時間戳,也就是xmlobj.responseText是一個服務器的時間戳
function callBackServerTime(_showtimediv, _showqdiv, _ms_begintime, _ms_endtime) {
    var now = new Date();
    var urlstr = "random=" + Math.round(Math.random() * 10000000);
    var ajaxobj = new AJAXRequest;    // 創建AJAX對象
    ajaxobj.method = "GET";   // 設置請求方式為GET
    ajaxobj.url = "/gz/source/getServerTime.do?" + urlstr; //注意ajax的跨域問題
    ajaxobj.callback = function(xmlobj) {
        //ShowQTime(xmlobj.responseText, _showtimediv, _showqdiv, _ms_begintime, _ms_endtime, _tryid,sourceid);
        ShowQTime( _showtimediv, _showqdiv,"1323158067288", _ms_begintime, _ms_endtime);     // 這里使用靜態數字替代 xmlobj.responseText 方便測試
    }
    ajaxobj.send();    // 發送請求
}
//動態顯示”秒殺“時間函數
function ShowQTime(_showtimediv, _showqdiv, _nowtime, _ms_begintime, _ms_endtime) {
    _nowtime = Number(_nowtime);
    var timmer = Math.floor((_ms_endtime - _nowtime) / (1000));
    if (_nowtime >= _ms_begintime && timmer > 0) {;
        //秒殺進行中
        document.getElementById(_showtimediv).innerHTML = "<span class='pim_time'>0</span>天<span class='pim_time'>0</span>小時<span class='pim_time'>0</span>分鐘<span class='pim_time'>0</span>秒";
        document.getElementById(_showqdiv).innerHTML = "<span class='btn_01'><a href='/gz/sk/v/'>  秒殺開始了!??!  </a></span>";
    } else {
        //秒殺倒計時
        var nMS = _ms_begintime - _nowtime;  //計算出開始時間和現在時間的時間戳差
        var nD = Math.floor(nMS / (1000 * 60 * 60 * 24));
        var nH = Math.floor(nMS / (1000 * 60 * 60)) % 24;
        var nM = Math.floor(nMS / (1000 * 60)) % 60;
        var nS = Math.floor(nMS / 1000) % 60;
        var nMS = Math.floor(nMS / 100) % 10;
        if (nD >= 0) {
            var _timestr = "";
            var snd = nD.toString();
            if (snd.length == 1) {
                snd = "0" + snd;
            }
            _timestr += "<span class='pim_time'>" + snd.substring(0, 1) + snd.substring(1, 2) +"</span>天";
            var snH = nH.toString();
            if (snH.length == 1) {
                snH = "0" + snH;
            }
            _timestr += "<span class='pim_time'>" + snH.substring(0, 1) + snH.substring(1, 2) +"</span>小時";
            var snM = nM.toString();
            if (snM.length == 1) {
                snM = "0" + snM;
            }
            _timestr += "<span class='pim_time'>" + snM.substring(0, 1) + snM.substring(1, 2) +"</span>分鐘";
            var snS = nS.toString();
            if (snS.length == 1) {
                snS = "0" + snS;
            }
            _timestr += "<span class='pim_time'>" + snS.substring(0, 1) + snS.substring(1, 2) +"</span>秒";
            document.getElementById(_showtimediv).innerHTML = _timestr;
        }else {
            //秒殺結束
             document.getElementById(_showtimediv).innerHTML = "<span class='pim_time'>0</span>天<span class='pim_time'>0</span>小時<span class='pim_time'>0</span>分鐘<span class='pim_time'>0</span>秒";
             document.getElementById(_showqdiv).innerHTML = "<span class='btn_01'><a href='/gz/sk/v/'>  秒殺結束了?。?!  </a></span>";
        }
    }
    //注意 (_nowtime + 1000) 增加 1 秒
    setTimeout("ShowQTime('" + _showtimediv + "','" + _showqdiv + "','" + (_nowtime + 1000) + "','" + _ms_begintime + "','" + _ms_endtime + "')", 1000);
}
function AJAXRequest() {
    var xmlObj = false;
    var CBfunc,ObjSelf;
    ObjSelf=this;
    try { xmlObj=new XMLHttpRequest; }
    catch(e) {
        try { xmlObj=new ActiveXObject("MSXML2.XMLHTTP"); }
        catch(e2) {
            try { xmlObj=new ActiveXObject("Microsoft.XMLHTTP"); }
            catch(e3) { xmlObj=false; }
        }
    }
    if (!xmlObj) return false;
    this.method="POST";
    this.url;
    this.async=true;
    this.content="";
    this.callback=function(cbobj) {return;}
    this.send=function() {
        if(!this.method||!this.url||!this.async) return false;
        xmlObj.open (this.method, this.url, this.async);
        if(this.method=="POST") xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        xmlObj.onreadystatechange=function() {
            if(xmlObj.readyState==4) {
                if(xmlObj.status==200) {
                    ObjSelf.callback(xmlObj);
                }
            }
        }
        if(this.method=="POST") xmlObj.send(this.content);
        else xmlObj.send(null);
    }
}
</script>
</body>
</html>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美自拍视频在线| 久久久电影免费观看完整版| 91av免费观看91av精品在线| 国产xxx69麻豆国语对白| 亚洲精品日韩丝袜精品| 欧美激情乱人伦| 欧美极品xxxx| 亚洲xxx视频| 亚洲网站在线播放| 自拍视频国产精品| 日韩av在线看| 欧美一级在线播放| 国产成人一区二区三区| 大桥未久av一区二区三区| 最新中文字幕亚洲| 亚洲男人天堂手机在线| 国产精品青青在线观看爽香蕉| 亚洲最大的网站| 国产精品香蕉av| 疯狂做受xxxx欧美肥白少妇| 色综合伊人色综合网| 日韩av大片免费看| 国产九九精品视频| 在线成人激情黄色| 欧美极品少妇与黑人| 日韩成人在线播放| 国产精自产拍久久久久久蜜| 欧美成人sm免费视频| 日韩av一卡二卡| 国产精品白嫩初高中害羞小美女| 亚洲精品av在线播放| 精品中文字幕在线| 日本久久久久久久久久久| 国产成人在线一区二区| 黑人狂躁日本妞一区二区三区| 国产精品偷伦免费视频观看的| 久久婷婷国产麻豆91天堂| 亚洲国产美女久久久久| 久久99久国产精品黄毛片入口| 久久久久久午夜| 亚洲精品视频中文字幕| 日韩成人av在线播放| 91亚洲精品视频| 国模精品视频一区二区| 色爱av美腿丝袜综合粉嫩av| 日韩精品久久久久久久玫瑰园| 亚洲第一区第一页| 91国内精品久久| 亚洲色图狂野欧美| 午夜免费久久久久| 亚洲在线免费视频| 国产视频精品va久久久久久| 久久精品国产一区二区电影| 欧美大片欧美激情性色a∨久久| 欧美日韩亚洲一区二区三区| 亚洲va欧美va国产综合久久| 久久精品一本久久99精品| 青青久久aⅴ北条麻妃| 国产精品视频内| 日韩欧美国产网站| 欧美wwwwww| 日韩中文字幕在线视频| 日韩精品在线观看网站| 久久久久久久久国产精品| 色综合久久天天综线观看| 久久全国免费视频| 国产精品福利无圣光在线一区| 亚洲欧美日韩在线高清直播| 亚洲女人初尝黑人巨大| 91在线观看免费高清完整版在线观看| 亚洲3p在线观看| 亚洲欧美在线一区二区| 欧美日韩爱爱视频| 欧美精品在线网站| 久久精品青青大伊人av| 国产999在线| 国产日韩综合一区二区性色av| 91国产精品视频在线| 在线精品91av| 久久99青青精品免费观看| 日韩精品中文字幕在线观看| 在线国产精品视频| 92国产精品久久久久首页| 日韩欧美高清视频| 成人看片人aa| 亚洲第一精品电影| 亚洲xxxx18| 国产视频精品自拍| 91亚洲va在线va天堂va国| 久久精品国产亚洲精品2020| 久久天天躁狠狠躁夜夜爽蜜月| 日韩电影中文字幕一区| 最近2019年好看中文字幕视频| 欧美视频第一页| 国产精品一二三视频| 成人黄色大片在线免费观看| 久久亚洲精品中文字幕冲田杏梨| 国产精品69av| 美日韩精品视频免费看| 久久久久久久久久久91| 91亚洲精品一区| 97久久精品在线| 97在线视频免费播放| 久久69精品久久久久久久电影好| 中国日韩欧美久久久久久久久| 91日本视频在线| 亚洲精品中文字幕有码专区| 亚洲欧美成人一区二区在线电影| 国产日韩中文字幕在线| 91免费人成网站在线观看18| 亚洲人午夜精品免费| 97视频在线看| 久久精品国产一区二区三区| 伊人久久免费视频| 欧美黄色成人网| 日本高清不卡的在线| 久久综合伊人77777| 欧美午夜精品久久久久久久| 懂色aⅴ精品一区二区三区蜜月| 成人激情黄色网| 伊人伊人伊人久久| 国产精品一区二区久久国产| 亚洲美女视频网| 91久久久久久| 日韩欧美成人精品| 久久精品国产v日韩v亚洲| 亚洲欧美日韩国产中文专区| 欧美精品中文字幕一区| 欧美高清电影在线看| 亚洲电影免费观看高清完整版| 隔壁老王国产在线精品| 成人做爰www免费看视频网站| 成年无码av片在线| 97久久久免费福利网址| 亚洲摸下面视频| 日韩高清人体午夜| 欧美福利视频在线观看| 精品自在线视频| 久久久久女教师免费一区| 欧美日韩在线另类| 日韩中文字幕在线视频| 最近2019中文字幕在线高清| 国内精品久久久久影院优| 久久亚洲精品网站| 91精品国产99| 精品久久香蕉国产线看观看gif| 亚洲精品日韩av| 欧美激情视频一区二区三区不卡| 在线免费看av不卡| 国产成人亚洲综合91精品| 亚洲97在线观看| 在线看日韩av| 精品亚洲永久免费精品| 亚洲欧洲在线免费| 久久乐国产精品| 日韩中文字幕亚洲| 国产精品成久久久久三级| 成人激情视频小说免费下载| 欧美一级电影在线| 中文.日本.精品| 亚洲三级 欧美三级| 精品亚洲一区二区三区在线播放| 在线观看中文字幕亚洲| 日本精品久久中文字幕佐佐木|