亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

正在回答

1 回答

//存放主要交互邏輯js代碼

// javascript 模塊化

var seckill = {

//封裝秒殺相關ajax的url

URL:{

now : function(){

return '/seckill/time/now';

},

exposer : function(seckillId){

return '/seckill/' + seckillId + '/exposer';

},

execution : function(seckillId, md5){

return '/seckill/' + seckillId + '/' + md5 +'/execution';

}

},

//驗證手機號

validatePhone : function(phone){

if(phone && phone.length == 11 && !isNaN(phone)){

return true;

}else{

return false;

}

},

//獲取秒殺地址,控制顯示邏輯,執行秒殺按鈕

handleSeckillKill : function(seckillId,node){

node.hide()

.html('<button class="btn btn-primary btn-1g" id="killBtn">開始秒殺</button>');//按鈕

$.post(seckill.URL.exposer(seckillId),{},function(result){

//在回調函數中執行交互流程

if(result && result['success']){

var exposer = result['data'];

if(exposer['exposed']){

//開始秒殺

//獲取秒殺的地址

var killUrl = seckill.URL.execution(seckillId,exposer['md5']);

console.log("killUrl:" + killUrl);

//綁定一次點擊事件

$('#killBtn').one('click',function(){

//1:綁定執行秒殺請求的操作

$(this).addClass('disabled');

//2:發送秒殺的請求

$.post(killUrl,{},function(result){

console.log(result)

if(result && result['success']){

var killResult = result['data'];

var state = killResult['state'];

var stateInfo = killResult['stateInfo'];

//3:顯示秒殺結果

node.html('<span class="label label-success">' + stateInfo + '</span>');

}

});

})

node.show();

}else{

//未開始

var now = exposer['now'];

var start = exposer['start'];

var end = exposer['end'];

//重新計算計時邏輯

seckill.countdown(seckillId,now,start,end);

}

}else{

console.log('exposer:' + result)

}

});

},

countdown:function(seckillId, nowTime, startTime, endTime){

var seckillBox = $('#seckill-box');

//時間判斷

if(nowTime > endTime){

//秒殺結束

seckillBox.html('秒殺結束!')

}else if(nowTime < startTime){

//秒殺未開始,計時

var killTime = new Date(startTime + 1000);

seckillBox.countdown(killTime,function(event){

var format = event.strftime('秒殺倒計時:%D天 %H時 %M分 %S秒');

seckillBox.html(format);

}).on('finish.countdown',function(){

seckill.handleSeckillKill(seckillId,seckillBox);

});

}else{

//秒殺開始

seckill.handleSeckillKill(seckillId,seckillBox);

}

},

//詳情頁秒殺邏輯

detail:{

//詳情頁初始化

init : function(params){

//用戶手機驗證和登錄,計時交互

//規劃我們的交互流程

//在cookie中查找手機號

var killPhone = $.cookie("killPhone");

//驗證手機號

if(!seckill.validatePhone(killPhone)){

//綁定phone

//控制輸出

var killPhoneModal = $('#killPhoneModal');

//顯示彈出層

killPhoneModal.modal({

show:true, //顯示彈出層

backdr:'static', //禁止位置關閉

keyboard:false //關閉鍵盤事件

});

$('#killPhoneBtn').click(function(){

var inputPhone = $('#killPhoneKey').val();

if(seckill.validatePhone(inputPhone)){

//電話寫入cookie

$.cookie('killPhone',inputPhone,{expires:7,path:'/seckill'});

//刷新頁面

window.location.reload();

}

else{

$('#killPhoneMessage').hide().html('<label class="label label-danger">手機號錯誤!</label>').show(300);

}

})

}

//已經登陸了

//計時交互

var startTime = params['startTime'];

var endTime = params['endTime'];

var seckillId = params['seckillId'];

$.get(seckill.URL.now(), {}, function(result){

if(result && result['success']){

var nowTime = result['data'];

//時間判斷,計時交互

seckill.countdown(seckillId,nowTime,startTime,endTime);

}else{

console.log('result:' + result);

}

});

}

}

}



0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

有seckill.js的源碼嗎?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號