美文网首页前端
js-以utc时间判断是否显示活动弹框

js-以utc时间判断是否显示活动弹框

作者: forward | 来源:发表于2019-12-18 10:17 被阅读0次

2019/12/24 - 2019/12/28(utc时间)日弹出活动窗口,另外25日多弹出一个买一赠一的窗口(先弹出活动窗口再弹出买一赠一的窗口);活动窗口每天只能弹出一次,买一赠一的窗口只有25号弹出一次;

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>cr</title>
</head>
<body>
<script type="text/javascript" src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> 
<script type="text/javascript">

    if(!localStorage.getItem("jsonTime")){ //如果当前设备没有存储记录信息 那么首先应该存储一份
        let jsonTime=[//stete代表活动弹窗标记   type代表活动弹窗标记
            {state:true,type:true}, //24
            {state:true,type:true}, //25  只有25号的type有用
            {state:true,type:true}, //26
            {state:true,type:true}, //27
            {state:true,type:true}  //28
        ]
        localStorage.setItem("jsonTime",JSON.stringify(jsonTime))
    }
    
    
    
    //定义数据区
    let dataTime=new Date(), //定义当前时间
    newJsonData=JSON.parse(localStorage.getItem("jsonTime")), //本地存储记录数据
    jsonNewTime={//获取当前时间 ( 年 月 日 年月日)
        fullYear:dataTime.getUTCFullYear(), //年
        month:dataTime.getUTCMonth()+1,//月
        date:dataTime.getUTCDate(),//日
        and:`${dataTime.getUTCFullYear()}${dataTime.getUTCMonth()+1}${dataTime.getUTCDate()}` // 年月日(20191217)  and跟dingyiArr数据格式一致  
    },
    dingyiArr=["20191217","20191218","20191219","20191220","20191221"];//模拟数据  正式上线应该换上正确的时间
    //dingyiArr数据正式应该换成 ["20191224","20191225","20191226","20191227","20191228"]
    
    
    //代码逻辑区
    //正式上线第50行代码应该换为 if(jsonNewTime.and === "20191225" && newJsonData[1].type){
    if(jsonNewTime.and === "20191217" && newJsonData[0].type){
        alert_2() 
        newJsonData[0].type=false;
        localStorage.setItem("jsonTime",JSON.stringify(newJsonData))//更新本地存储的数据
        setTimeout(()=>{ yibanTanKuang() },2000) //模拟点击第一个窗口关闭后的回掉事件
    }else{
        yibanTanKuang()
    }
    
    function yibanTanKuang(){//24 - 28 号活动弹窗判断
        dingyiArr.map((item,index)=>{
            if(item===jsonNewTime.and && newJsonData[index].state){
                alert_1()
                newJsonData[index].state=false;
                localStorage.setItem("jsonTime",JSON.stringify(newJsonData))//更新本地存储的数据
            }
        })
    }
    function alert_1(){ //模拟弹窗
        alert("活动窗口")
    }
    function alert_2(){ //模拟弹窗
        alert("买一增一窗口")
    }
    
    
    


</script>
</body>
</html>

相关文章

网友评论

    本文标题:js-以utc时间判断是否显示活动弹框

    本文链接:https://www.haomeiwen.com/subject/kmvynctx.html