【发布时间】:2022-04-25 05:42:41
【问题描述】:
我试图让用户每 30 天只执行一次弹出窗口。目前,弹出窗口正在无限循环中执行。每次我触发它都会执行。一而再,再而三。它应该只发生 1 次,然后设置某种 cookie 或检查,30 天后如果用户回来,它将再次执行。我试过在 PHP 中设置 cookie。使用一个。 jQuery 方法。在 jQuery 中设置 cookie。使用标志变量。所有这些事情,它仍然总是执行。我最好需要 PHP 或 jQuery 的解决方案。
<script>
$( document ).ready(function() {
var SetWait;
var filledPhone;
//setTimeout(function(){}, 1500);//close timeout
SetWait = 1;
setTimeout(function(){SetWait=0;}, 1200);
$("body").mouseleave(function() {
if(SetWait==0){
if(!filledPhone){
$("#myModalpopup").fadeIn();
$(".modal-backdrop").fadeIn();
$(".modal-content").fadeIn();
}//close filled email check
}
});//close function
$(".close").click(function() {
SetWait = 1;
$("#myModalpopup").fadeOut();
$(".modal-backdrop").fadeOut();
$(".modal-content").fadeOut();
setTimeout(function(){SetWait=0;}, 2500);
});//close function
$("#twillioPopup").click(function() {
var the_number = $("#custPhone").val(); //email user enters
if(!the_number){
alert('Please enter phone number.');
}else{
$("#myModalpopup").fadeOut();
$(".modal-backdrop").fadeOut();
$(".modal-content").fadeOut();
filledPhone = the_number;
///////// DO AJAX TO SAVE EMAIL AND CART ID ETC /////////
$.ajax({
type: 'POST',
url: 'ajax/twillioPopup.php',
data: {the_number:the_number},
success: function( response ){
$('#success_message').html(response);
}
}); //close ajax
///////// DO AJAX TO SAVE EMAIL AND CART ID ETC /////////
}//close if else
});//close click
});//close ready
</script>
【问题讨论】:
标签: javascript php jquery cookies