2011-11-13 51 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是而不是時的顏色盒事情當某些用戶從未訪問時它應該是什麼。