JQuery或PHP只执行一次,然后等待一段时间再重新执行。

时间:2018-02-08 22:57:33

标签: javascript php jquery cookies

这是问题..

我试图让用户每30天只执行一次弹出操作。目前弹出窗口正在无限循环中执行..每次触发它都会一遍又一遍地执行..它应该只发生一次,然后设置某种类型的cookie或支票,30天后如果用户回来,它将再次执行。我试过在PHP中设置cookie。使用一个。 JQuery方法..在Jquery中设置cookie ..使用标志变量..所有这些东西,它仍然只是执行alwayse。我最好需要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>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

尝试创建一个30天后过期的php COOKIE。如果未设置cookie,则运行代码并进行设置,否则不执行任何操作。像这样的东西?

<?php

if(isset($_COOKIE['yourCookieName'])){
   //Do nothing
} else {
   $cookie_name = "yourCookieName";
   $cookie_value = "set";
   setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
   ?>
    //Break out of php and run your javascript here
   <?php 
}
?>

这应检测cookie是否已设置,如果不是,则运行javascript一次然后设置cookie(如果他们在接下来的30天内重新访问,而cookie仍处于活动状态,则javascript将被忽略)< / p>