zoukankan      html  css  js  c++  java
  • 中奖弹框代码~

    需求:

    1如果有中奖,每个页面都要弹,有的页面不用弹(我的试货页面/订单页)

    2.在没有点击确认信息之前,到任何页面刷新都是会再次弹弹框的,重新登录也会弹

    3.只要确认了信息,其他页面就不会再弹了

    4.如果有多个活动,第一个弹出来,点了确认信息之后,5分钟才出第二个
    也就是说,你不确认信息,永远弹的都是第一个

     TocheckUserAwardStatus: function() {
            console.log('中奖')
            $.get('/checkUserAwardStatus', {
                lang: 'chs'
            }, function(res) {
                //未中奖
                 if (res.code == '400') {
                    //test
                     $('#hideTheCoverHead').hide()
                     $('#comfirmYouAward').hide()
                  
                //未登录 
                } else if (res.code == '401') {
                     $('#comfirmYouAward').hide()
                     $('#hideTheCoverHead').hide()
    
                //已中奖
                }else if (res.code == '200') {
                    //先判断有没有在内存里面
                    vr.mobileSelf=$.cookie('fqcU')
                    vr.awardId = res.data.id;
                    var getCode = JSON.parse(localStorage.getItem(vr.mobileSelf+"0"))
                    var confirmOrder=JSON.parse(localStorage.getItem("confirmIt" + vr.awardId))
                        // 中奖了但是是之前的id存在,就是同一次中奖,不弹
                        if (!getCode) { 
                           //如果没有弹过框,肯定是要弹的
                              $('#comfirmYouAward').show()
                              $('#hideTheCoverHead').show()
                              vr.getAwardGoodsInfo = res.data;   
                              //这里是当时弹框的时间,只要有弹框就要存时间
                             localStorage.setItem("time"+vr.mobileSelf, new Date().getTime())     
                             localStorage.setItem(vr.mobileSelf+"0", JSON.stringify(vr.awardId))
                             $("body,html,#comfirmYouAward,#hideTheCoverHead").on('touchmove',function(e){
                                e.preventDefault();  //阻止默认行为
                              })
                        }
                        if (getCode) {
                            //第一种情况,存在id,并且是同一个,因为现在是每个页面要弹,就算存在相同的id,没有确认信息也是要弹的,所以要确保是已经确认了信息
                            if (getCode.indexOf(parseInt(res.data.id)) != '-1'&&(confirmOrder&&confirmOrder==(String(vr.awardId) + "confirm"))) {
                                 console.log('不显示')  
                                $('#comfirmYouAward').hide()
                                $('#hideTheCoverHead').hide()
                                //可能有id存在,是同一个,没有确认信息,确认了信息,但是id不是同一个
                            }else if(getCode.indexOf(parseInt(res.data.id)) != '-1'&&(confirmOrder!=(String(vr.awardId) + "confirm"))){
                                    $('#comfirmYouAward').show()
                                    $('#hideTheCoverHead').show()
                                    vr.getAwardGoodsInfo = res.data;
                                    localStorage.setItem("time"+vr.mobileSelf, new Date().getTime())     
                                    localStorage.setItem(vr.mobileSelf+"0", JSON.stringify(vr.awardId))
                                    $("body,html,#comfirmYouAward,#hideTheCoverHead").on('touchmove',function(e){
                                        e.preventDefault();  //阻止默认行为
                                    })
    
                            }
                        }
                       
                        //存在id但是呢,里面的id与中奖的id不一样
                        if (getCode && getCode.indexOf(Number(res.data.id)) == '-1') {  
                          //这里需要对比一下时间,如果内存的时间,与当前的时间没有超过30分钟就不弹,否则要弹
                               vr.saveTime=localStorage.getItem("time"+vr.mobileSelf)
                               if(parseInt(new Date().getTime()/1000)-parseInt(vr.saveTime/1000)>60){   
                                   console.log('超过100秒')   
                                   $('#comfirmYouAward').show()
                                   $('#hideTheCoverHead').show()
                                   $("body,html,#comfirmYouAward,#hideTheCoverHead").on('touchmove',function(e){
                                        e.preventDefault();  //阻止默认行为
                                   })          
                                  //这里是当时弹框的时间
                                  localStorage.setItem("time"+vr.mobileSelf, new Date().getTime())
                                  vr.getAwardGoodsInfo = res.data;
                                  localStorage.setItem(vr.mobileSelf+"0", JSON.stringify(vr.awardId))
                               }                                   
                        }
                }
            })
          },
     vr.$watch('onReady', function() {
            vr.getPerosonInfo()
            if ((vr.personCenterHref.indexOf('editaddress')=='-1'&&vr.personCenterHref.indexOf('order')=='-1')&&(vr.personCenterHref.indexOf('mytry')=='-1')) {
               vr.TocheckUserAwardStatus()    
            } 
            if(vr.getAvatarCookie){
                vr.getHeaderInfo()
            } 
    
         
        
        })
  • 相关阅读:
    程其襄实变函数与泛函分析课件
    谢惠民答案
    谢惠民 数学分析习题课讲义 答案
    谢惠民数学分析习题课讲义下册参考解答
    重磅! 谢惠民下册参考解答已经全部完成, 共 473 页!
    各大高校考研试题参考解答目录2020/06/21版
    Jenkins Pipeline审批
    Zabbix监控DHCP作用域(json格式数据)
    MDT通过UserExit.vbs调用PowerShell脚本获取变量
    MDT通过PowerShell脚本自定义变量(自定义计算机名)
  • 原文地址:https://www.cnblogs.com/antyhouse/p/9076106.html
Copyright © 2011-2022 走看看