2011-11-13 52 views
0

我有点困惑,可能会在我面前丢失一些东西。调用基于jQuery Cookie的功能

我使用jQuery cookie在我的页面中创建一个cookie。该代码是:

var $j = jQuery.noConflict(); 
$j(document).ready(function(){ 
$j.cookie("homecookie", 1, {expires: 30, path: '/'}); 
}); 

我知道要读取cookie这将是$j.cookie('homecookie');但在那之后就是我弄糊涂。我需要调用这个函数$j.colorbox({ inline:true, href:"#gallery-nav-instruct"});怎么样?

换句话说,如果该人有而不是访问该页面,则调用colorbox。如果用户访问了该页面,则不会调用该页面。有人可以帮助我正确设置,因为我无法得到它。请给出例子,因为JavaScript不是我的一杯茶。

+0

这是您所使用的cookie的插件的唯一的事情?在colorbox常见问题解答中有一个条目涵盖了这一点:http://jacklmoore.com/colorbox/faq/#faq-cookie – Gummy

+0

我在安装colorbox时看到了这一点。这在IE中无法正常工作,还有其他一些问题。我切换到jQuery Cookie是因为它,我在我的网站上的其他地方使用jQuery Cookie。 – L84

回答

3

你可以简单地检查该cookie的存在,如果不存在,你可以调用和设置cookie吧:

if(!$j.cookie('homecookie')){ 
    $j.colorbox({ inline:true, href:"#gallery-nav-instruct"}); 
    $j.cookie("homecookie", 1, {expires: 30, path: '/'}); 
} 
+0

非常感谢,除了Internet Explorer之外,它的功能都很棒!去搞清楚。 - 我问了另一个关于它不在IE中工作的问题:http://stackoverflow.com/questions/8109973/jquery-cookie-not-working-in-ie-8 – L84

2

干脆检查Cookie值:

if (!$j.cookie('homecookie')) $j.colorbox({ /* whatever */ }); 

或者,如果确切的cookie值是非常重要的,比较:

if ($j.cookie('homecookie') !== 'something') 
    $j.colorbox({ /* whatever */ }); 

在这两个那些例子,我假设你要调用当cookie是而不是时的颜色盒事情当某些用户从未访问时它应该是什么。