開(kāi)始秒殺的按鈕沒(méi)看見(jiàn)
開(kāi)始秒殺按鈕始終不出現(xiàn)是什么原因?
var seckill={
? ?//packing seckill url of ajax
? ?URL:{
? ? ? ?now:function () {
? ? ? ? ? ?return '/seckill/time/now';
? ? ? ?},
? ? ? ?exposer:function (seckillId) {
? ? ? ? ? ?return '/seckill/'+seckillId+'/exposer';
? ? ? ?},
? ? ? ?execution:function (seckillId,md5) {
? ? ? ? ? ?return '/seckill/'+seckillId+'/'+md5+'/execution';
? ? ? ?}
? ?},
? ?//validator phone number
? ?validatePhone:function (phone) {
? ? ? ?if(phone && phone.length==11 && !isNaN(phone)){
? ? ? ? ? ?return true;
? ? ? ?}
? ? ? ?return false;
? ?},
? ?handlerSeckill:function (seckillId,node) {
? ? ? ?//handle execute logic ,control view logic,execute seckill
? ? ? ?node.hide().html('<button class="btn btn-primary btn-lg" id="killBtn">開(kāi)始秒殺</button>');
? ? ? ?$.post(seckill.URL.exposer(seckillId),{},function (result) {
? ? ? ? ? ?if(result&&result['success']){
? ? ? ? ? ? ? ?var exposer=result['data'];
? ? ? ? ? ? ? ?if(exposer['exposed']){
? ? ? ? ? ? ? ? ? ?//open seckill
? ? ? ? ? ? ? ? ? ?//get seckill url
? ? ? ? ? ? ? ? ? ?var md5=exposer['md5'];
? ? ? ? ? ? ? ? ? ?var killUrl=seckill.URL.execution(seckillId,md5);
? ? ? ? ? ? ? ? ? ?console.log("killUrl:"+killUrl);
? ? ? ? ? ? ? ? ? ?//forbidden repeat click
? ? ? ? ? ? ? ? ? ?$('#killBtn').one('click',function () {
? ? ? ? ? ? ? ? ? ? ? ?//execute seckill request
? ? ? ? ? ? ? ? ? ? ? ?//1.forbidden button click event at first
? ? ? ? ? ? ? ? ? ? ? ?$(this).addClass('disabled');
? ? ? ? ? ? ? ? ? ? ? ?//send seckill request
? ? ? ? ? ? ? ? ? ? ? ?$.post(seckillUrl,{},function (result) {
? ? ? ? ? ? ? ? ? ? ? ? ? ?if(result && result['success']){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?var killResult=result['data'];
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?var state=killResult['state'];
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?var stateInfo=killResult['stateInfo'];
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?node.html('<span class="label label-success">'+stateInfo+'</span>');
? ? ? ? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ? ? ? ?});
? ? ? ? ? ? ? ? ? ?});
? ? ? ? ? ? ? ? ? ?node.show();
? ? ? ? ? ? ? ?}else{
? ? ? ? ? ? ? ? ? ?//not open seckill
? ? ? ? ? ? ? ? ? ?var now=exposer['now'];
? ? ? ? ? ? ? ? ? ?var start=exposer['start'];
? ? ? ? ? ? ? ? ? ?var end=exposer['end'];
? ? ? ? ? ? ? ? ? ?//re calculate timing logic
? ? ? ? ? ? ? ? ? ?seckill.countdown(seckillId,now,start,end);
? ? ? ? ? ? ? ?}
? ? ? ? ? ?}else{
? ? ? ? ? ? ? ?console.log('result'+result);//TODO
? ? ? ? ? ?}
? ? ? ?});
? ?},
? ?countdown:function (seckillId,nowTime,startTime,endTime) {
? ? ? ?var seckillBox=$('#seckill-box');
? ? ? ?console.log(nowTime);//TODO
? ? ? ?//judge time
? ? ? ?if(nowTime>endTime){
? ? ? ? ? ?//秒殺結(jié)束
? ? ? ? ? ?seckillBox.html('秒殺結(jié)束!');
? ? ? ?}else if(nowTime<startTime){
? ? ? ? ? ?//seckill is not open yet,bind timing event
? ? ? ? ? ?var killTime=new Date(startTime+1000);
? ? ? ? ? ?console.log(killTime);//TODO
? ? ? ? ? ?seckillBox.countdown(killTime,function (event) {
? ? ? ? ? ? ? ?//control time format
? ? ? ? ? ? ? ?var format=event.strftime('秒殺倒計(jì)時(shí):%D天 %H時(shí) %M分 %S秒');
? ? ? ? ? ? ? ?seckillBox.html(format);
? ? ? ? ? ? ? ?//timing is end,callback event
? ? ? ? ? ?}).on('finish.countdown',function () {
? ? ? ? ? ? ? ?//get seckill address,control reality logic,execute seckill
? ? ? ? ? ? ? ?seckill.handlerSeckill(seckillId,seckillBox);
? ? ? ? ? ?});
? ? ? ?}else{
? ? ? ? ? ?//seckill start
? ? ? ? ? ?seckill.handlerSeckill(seckillId,seckillBox);
? ? ? ?}
? ?},
? ?//seckill logic of detail page
? ?detail:{
? ? ? ?//init detail page
? ? ? ?init:function (params) {
? ? ? ? ? ?//phone number validator,timing interaction
? ? ? ? ? ?//planning our process of interaction
? ? ? ? ? ?//find number from cookie
? ? ? ? ? ?var killPhone=$.cookie('killPhone');
? ? ? ? ? ?var startTime=params['startTime'];
? ? ? ? ? ?var endTime=params['endTime'];
? ? ? ? ? ?var seckillId=params['seckillId'];
? ? ? ? ? ?//validator phone number
? ? ? ? ? ?if(!seckill.validatePhone(killPhone)){
? ? ? ? ? ? ? ?//bind phone
? ? ? ? ? ? ? ?//control output
? ? ? ? ? ? ? ?var killPhoneModal=$('#killPhoneModal');
? ? ? ? ? ? ? ?//view pop-up layer
? ? ? ? ? ? ? ?killPhoneModal.modal({
? ? ? ? ? ? ? ? ? ?show:true,//show pop-up layer
? ? ? ? ? ? ? ? ? ?backdrop:'static',//forbidden location closed
? ? ? ? ? ? ? ? ? ?keyboard:false//close keyboard
? ? ? ? ? ? ? ?});
? ? ? ? ? ? ? ?$('#killPhoneBtn').click(function () {
? ? ? ? ? ? ? ? ? ?var inputPhone=$('#killPhoneKey').val();
? ? ? ? ? ? ? ? ? ?if(seckill.validatePhone(inputPhone)){
? ? ? ? ? ? ? ? ? ? ? ?//put number in cookie
? ? ? ? ? ? ? ? ? ? ? ?$.cookie('killPhone',inputPhone,{expires:7,path:'/seckill'});
? ? ? ? ? ? ? ? ? ? ? ?//refresh page
? ? ? ? ? ? ? ? ? ? ? ?window.location.reload();
? ? ? ? ? ? ? ? ? ?}else{
? ? ? ? ? ? ? ? ? ? ? ?$('#killPhoneMessage').hide().html('<label class="label label-danger">手機(jī)號(hào)錯(cuò)誤</label>').show(300);
? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ?});
? ? ? ? ? ?}
? ? ? ? ? ?//already login
? ? ? ? ? ?//timing interaction
? ? ? ? ? ?$.get(seckill.URL.now(),function (result) {
? ? ? ? ? ? ? ?if(result && result['success']){
? ? ? ? ? ? ? ? ? ?var nowTime=result['data'];
? ? ? ? ? ? ? ? ? ?//judge time
? ? ? ? ? ? ? ? ? ?seckill.countdown(seckillId,nowTime,startTime,endTime);
? ? ? ? ? ? ? ?}
? ? ? ? ? ?});
? ? ? ?}
? ?}
}
2021-03-19
補(bǔ)充修改
2021-03-19
請(qǐng)求是post,不是get
2019-06-09
可能是你前面這塊代碼出錯(cuò),俺這邊是這樣
2018-01-13
? ?node.hide().html('<button class="btn btn-primary btn-lg" id="killBtn">開(kāi)始秒殺</button>').show();
隱藏了,要顯示出來(lái)
2017-02-19
可以在網(wǎng)頁(yè) 部分查看 console 面板現(xiàn)實(shí)信息,那個(gè)地方會(huì)將錯(cuò)誤信息展示的,然后根據(jù)那里的錯(cuò)誤體力,然后再回到 代碼中進(jìn)行修改
2017-02-08
else{
? ? ? ? ? ? ? ? ? ?//not open seckill
? ? ? ? ? ? ? ? ? ?var now=exposer['now'];
? ? ? ? ? ? ? ? ? ?var start=exposer['start'];
? ? ? ? ? ? ? ? ? ?var end=exposer['end'];
? ? ? ? ? ? ? ? ? ?//re calculate timing logic
? ? ? ? ? ? ? ? ? ?//seckill.countdown(seckillId,now,start,end);
? ? ? ? ? ? ? ?}
把seckill.countdown(seckillId,now,start,end);注釋掉試試
2017-02-08
代碼太多 看不了
主要的可能性是因?yàn)樗姥h(huán),
這個(gè)代碼其實(shí)有bug,
當(dāng)一開(kāi)始handlerSeckill走到else里面就死循環(huán)了,
請(qǐng)從這方面查起