2013-06-30 42 views
0

我有這個功能,jQuery中的隱藏元素時,在它們的用戶點擊:jQuery的餅乾的onclick功能

$(".colabs-image").click(function() { 
    $(this).parent().addClass('is-visited'); 
    }); 

我想用一個cookie存儲在用戶點擊和顯示元件訪問下次。

Whit $(this).parent().attr('href'))我有一個ID元素,但我知道如何管理這個任務的cookie。

回答

3

看看jQuery Cookie插件。它使得使用cookie非常簡單。

創建cookie是那樣簡單:

$.cookie('the_cookie', 'the_value'); 

如果你想存儲在cookie中的元素,這將需要更多一點的工作。如果你的元素的ID是靜態的,那麼你可以將它們存儲在一個數組,然後存儲到cookie的使用JSON.stringify

var elements = []; 
$(".colabs-image").click(function() { 
    $(this).parent().addClass('is-visited'); 
    elements.push($(this).parent().attr('id')); //add the id to the array of elements 
    $.cookie('elements', JSON.stringify(elements)); 
}); 

要檢索的元素,你將不得不使用JSON.parse

var elements = JSON.parse($.cookie('elements')); 
for(var i = 0; i < elements.length; i++) { 
    $("#" + elements[i]).addClass('is-visited'); 
} 
+0

非常感謝您的代碼,非常有用。順便說一句,我是jQuery新手,我做錯了什麼。這是我的代碼:http://pastebin.com/f3F0mrKP控制檯輸出是:「未捕獲的SyntaxError:意外的輸入結束(匿名函數)」如果我能解釋我爲什麼如此愚蠢我會很感激。 –

+0

@KikoBeats不客氣!你可以把你的代碼放到[jsfiddle.com](http://jsfiddle.com)的小提琴上嗎?那麼看看發生了什麼會更容易。 –

+0

不錯的主意!這是我在js文件中沒有cookie的代碼:http://jsfiddle.net/Kikobeats/xNUCF/11/。 –