小編給大家分享一下jQuery如何利用cookie 實現(xiàn)本地收藏功能(不重復(fù)無需多次命名),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)公司2013年成立,先為沿灘等服務(wù)建站,沿灘等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為沿灘企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
1、cookie是什么:
①、cookie 是存儲于訪問者計算機中的變量。每當(dāng)一臺計算機通過瀏覽器來訪問某個頁面時,那么就可以通過 JavaScript 來創(chuàng)建和讀取 cookie。
②、實際上 cookie 是存于用戶硬盤的一個文件,這個文件通常對應(yīng)于一個域名,當(dāng)瀏覽器再次訪問這個域名時,便使這個cookie可用。因此,cookie可以跨越一個域名下的多個網(wǎng)頁,但不能跨越多個域名使用。
③、不同瀏覽器對 cookie 的實現(xiàn)也不一樣。即保存在一個瀏覽器中的 cookie 到另外一個瀏覽器是 不能獲取的。
PS:cookie 和 session 都能保存計算機中的變量,但是 session 是運行在服務(wù)器端的,而客戶端我們只能通過 cookie 來讀取和創(chuàng)建變量。
2、cookie的作用:
①、用戶在第一次登錄某個網(wǎng)站時,要輸入用戶名密碼,如果覺得很麻煩,下次登錄時不想輸入了,那么就在第一次登錄時將登錄信息存放在 cookie 中。下次登錄時我們就可以直接獲取 cookie 中的用戶名密碼來進行登錄。
PS:雖然 瀏覽器將信息保存在 cookie 中是加密了,但是可能還是會造成不安全的信息泄露
②、類似于購物車性質(zhì)的功能,第一次用戶將某些商品放入購物車了,但是臨時有事,將電腦關(guān)閉了,下次再次進入此網(wǎng)站,我們可以通過讀取 cookie 中的信息,恢復(fù)購物車中的物品。
PS:實際操作中,這種方法很少用了,基本上都是將這些信息存儲在數(shù)據(jù)庫中。然后通過查詢數(shù)據(jù)庫的信息來恢復(fù)購物車里的物品
③、頁面之間的傳值。在實際開發(fā)中,我們往往會通過一個頁面跳轉(zhuǎn)到另外一個頁面。后端服務(wù)器我們可以通過數(shù)據(jù)庫,session 等來傳遞頁面所需要的值。但是在瀏覽器端,我們可以將數(shù)據(jù)保存在 cookie 中,然后在另外頁面再去獲取 cookie 中的數(shù)據(jù)。
PS:這里要注意 cookie 的時效性,不然會造成獲取 cookie 中數(shù)據(jù)的混亂。
正文開始,下面通過代碼給大家介紹jq cookie 本地收藏功能,
JS核心部分
說明:用split(',')分隔字符串轉(zhuǎn)換數(shù)組數(shù)組,把上一次收藏的id 和這一次的收藏用 + “,”+ 當(dāng)前id 來存入,到時候用split() 方法 轉(zhuǎn)換成數(shù)組即可。
<script type="text/javascript"> $(function(){ var arr = $.cookie("attractionsid").split(','); console.log($.cookie()); for (var i = 0; i < arr.length; i++) { if(parseInt(arr[i]) == parseInt( 請?zhí)钊隝D值 )){ //判斷是否收藏過,收藏過亮圖標(biāo) $('#shoucang2').removeClass('hide'); $('#shoucang1').addClass('hide'); break; } }; $("#shoucang").click(function(event) { var judge = true; console.log(arr) for (var i = 0; i < arr.length; i++) { if(parseInt(arr[i]) == parseInt(請?zhí)钊隝D值)){ arr.splice(i,1); $.cookie("attractionsid", arr, { expires: 361}); console.log('取消收藏'); $('#shoucang2').addClass('hide'); $('#shoucang1').removeClass('hide'); judge = false; break; } }; if(judge){ $.cookie("attractionsid", $.cookie("attractionsid") + ","+"請?zhí)钊隝D值", { expires: 361}); console.log('收藏成功'); $('#shoucang2').removeClass('hide'); $('#shoucang1').addClass('hide'); } }); }) </script>
jquery是一個簡潔而快速的JavaScript庫,它具有獨特的鏈?zhǔn)秸Z法和短小清晰的多功能接口、高效靈活的css選擇器,并且可對CSS選擇器進行擴展、擁有便捷的插件擴展機制和豐富的插件,是繼Prototype之后又一個優(yōu)秀的JavaScript代碼庫,能夠用于簡化事件處理、HTML文檔遍歷、Ajax交互和動畫,以便快速開發(fā)網(wǎng)站。
以上是“jQuery如何利用cookie 實現(xiàn)本地收藏功能(不重復(fù)無需多次命名)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)頁標(biāo)題:jQuery如何利用cookie實現(xiàn)本地收藏功能(不重復(fù)無需多次命名)
鏈接URL:http://sd-ha.com/article28/jjcjcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、外貿(mào)建站、用戶體驗、網(wǎng)站收錄、服務(wù)器托管、網(wǎng)頁設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)