Jquery 仅限前四次访问现场的展示容器
我使用以下代码在3分钟后显示两个div容器: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。看
/* 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设置断点并查看代码的运行情况。这些应该可以帮助您调试代码。