Jquery 仅限前四次访问现场的展示容器

Jquery 仅限前四次访问现场的展示容器,jquery,cookies,Jquery,Cookies,我使用以下代码在3分钟后显示两个div容器: /* Display After 3 Minutes (180000) */ setTimeout("jQuery('#contact-overlay, #contact-window').show();", 180000); 我只希望这些div容器在网站的前4次访问3分钟后打开,在此之后,div容器不应再次为该用户打开。我假设可以使用jquery cookies脚本来跟踪这一点,但我不太确定如何使其工作。有jquery插件来管理cookies。看

我使用以下代码在3分钟后显示两个div容器:

/* Display After 3 Minutes (180000) */
setTimeout("jQuery('#contact-overlay, #contact-window').show();", 180000);

我只希望这些div容器在网站的前4次访问3分钟后打开,在此之后,div容器不应再次为该用户打开。我假设可以使用jquery cookies脚本来跟踪这一点,但我不太确定如何使其工作。

有jquery插件来管理cookies。看看这个:


从以下链接获取cookie插件:

仅在网站的前4次访问中打开:

   //$(document).ready(function(){
       if(!$.cookie('visits')){
         $.cookie('visits',1, {expires: 30});
       }
       $.cookie('visits', (parseInt($.cookie('visits')) + 1), {expires: 30}) 
           //will expire after 30 days
       var overlayContact = function(){
           if(parseInt($.cookie('visits')) < 5){
               $('#contact-overlay, #contact-window').show();
           }
       };
       setTimeout(overlayContact, 180000);
   //} 
   // Replace all $ with jQuery if you're doubling up 
   // on your javascript frameworks.
/$(文档).ready(函数(){
如果(!$.cookie('visions')){
$.cookie('visions',1,{expires:30});
}
$.cookie('visions'),(parseInt($.cookie('visions'))+1),{expires:30})
//将在30天后到期
var overlycontact=函数(){
if(parseInt($.cookie('visions'))<5){
$(“#联系人覆盖,#联系人窗口”).show();
}
};
设置超时(OverlyContact,180000);
//} 
//如果要加倍使用jQuery,请将所有$替换为jQuery
//在javascript框架上。

或者,若要仅在用户实际看到框的前4次打开,请将cookie递增行移动到OverlyContact函数的主体中,在if之前。

此人是否经过身份验证?cookie会被删除,如果依赖cookie值,则会恢复行为。对于经过身份验证的用户,您可以跟踪其访问次数只有当访问次数低于您的阈值时,服务器才会注入行为。@tvanfosson:谢谢您的回复。我不介意删除cookie,所以这不是问题。使用上述任一代码,我只能让div第一次加载,仅此而已。如果我清除cookie,它将第一次加载。但是不加载前4次。知道原因吗?@GhostPool:尝试更新代码。您还可以使用Firefox中的Firebug或Google Chrome或Safari中的inspector设置断点并查看代码的运行情况。这些应该可以帮助您调试代码。