jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)


Posted in jQuery onNovember 07, 2019

1、cookie是什么:

①、cookie 是存储于访问者计算机中的变量。每当一台计算机通过浏览器来访问某个页面时,那么就可以通过 JavaScript 来创建和读取 cookie。

②、实际上 cookie 是存于用户硬盘的一个文件,这个文件通常对应于一个域名,当浏览器再次访问这个域名时,便使这个cookie可用。因此,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。

③、不同浏览器对 cookie 的实现也不一样。即保存在一个浏览器中的 cookie 到另外一个浏览器是 不能获取的。

PS:cookie 和 session 都能保存计算机中的变量,但是 session 是运行在服务器端的,而客户端我们只能通过 cookie 来读取和创建变量。

2、cookie的作用:

 ①、用户在第一次登录某个网站时,要输入用户名密码,如果觉得很麻烦,下次登录时不想输入了,那么就在第一次登录时将登录信息存放在 cookie 中。下次登录时我们就可以直接获取 cookie 中的用户名密码来进行登录。
PS:虽然 浏览器将信息保存在 cookie 中是加密了,但是可能还是会造成不安全的信息泄露

②、类似于购物车性质的功能,第一次用户将某些商品放入购物车了,但是临时有事,将电脑关闭了,下次再次进入此网站,我们可以通过读取 cookie 中的信息,恢复购物车中的物品。
PS:实际操作中,这种方法很少用了,基本上都是将这些信息存储在数据库中。然后通过查询数据库的信息来恢复购物车里的物品

③、页面之间的传值。在实际开发中,我们往往会通过一个页面跳转到另外一个页面。后端服务器我们可以通过数据库,session 等来传递页面所需要的值。但是在浏览器端,我们可以将数据保存在 cookie 中,然后在另外页面再去获取 cookie 中的数据。

PS:这里要注意 cookie 的时效性,不然会造成获取 cookie 中数据的混乱。

正文开始,下面通过代码给大家介绍jq cookie 本地收藏功能,

JS核心部分

说明:用split(',')分隔字符串转换数组数组,把上一次收藏的id 和这一次的收藏用 + “,”+ 当前id 来存入,到时候用split() 方法 转换成数组即可。

<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( 请填入ID值 )){
 //判断是否收藏过,收藏过亮图标
 $('#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(请填入ID值)){
  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") + ","+"请填入ID值", { expires: 361});
 console.log('收藏成功');
 $('#shoucang2').removeClass('hide');
 $('#shoucang1').addClass('hide');
 }
 });
 })
</script>

总结

以上所述是小编给大家介绍的jQuery利用cookie 实现本地收藏功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

jQuery 相关文章推荐
基于jQuery对象和DOM对象和字符串之间的转化实例
Aug 08 jQuery
jQuery 中msgTips 顶部弹窗效果实现代码
Aug 14 jQuery
jQuery实现base64前台加密解密功能详解
Aug 29 jQuery
jQuery图片查看插件Magnify开发详解
Dec 25 jQuery
jQuery简单判断值是否存在于数组中的方法示例
Apr 17 jQuery
jQuery实现动态加载select下拉列表项功能示例
May 31 jQuery
jQuery实现的隔行变色功能【案例】
Feb 18 jQuery
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
Jul 03 jQuery
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
Jun 06 jQuery
jQuery实现开关灯效果
Aug 02 jQuery
JS实现选项卡插件的两种写法(jQuery和class)
Dec 30 jQuery
jQuery实现form表单基于ajax无刷新提交方法实例代码
Nov 04 #jQuery
jQuery鼠标滑过横向时间轴样式(代码详解)
Nov 01 #jQuery
jQuery高级编程之js对象、json与ajax用法实例分析
Nov 01 #jQuery
Javascript和jquery在selenium的使用过程
Oct 31 #jQuery
JQuery 实现文件下载的常用方法分析
Oct 29 #jQuery
jquery validate 实现动态增加/删除验证规则操作示例
Oct 28 #jQuery
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
Oct 26 #jQuery
You might like
PHP中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
php常用字符串处理函数实例分析
2014/11/22 PHP
各种快递查询--Api接口
2016/04/26 PHP
javascript事件模型代码
2007/07/01 Javascript
ASP SQL防注入的方法
2008/12/25 Javascript
JavaScript 题型问答有答案参考
2010/02/17 Javascript
jquery 得到当前页面高度和宽度的两个函数
2010/02/21 Javascript
详解JavaScript中数组的相关知识
2015/07/29 Javascript
Javascript的无new构建实例详解
2016/05/15 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
js和jquery中获取非行间样式
2017/05/05 jQuery
Javascript 一些需要注意的细节(必看篇)
2017/07/08 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
JavaScript简单实现动态改变HTML内容的方法示例
2018/12/25 Javascript
javascript设计模式 ? 享元模式原理与用法实例分析
2020/04/15 Javascript
[00:43]TI7不朽珍藏III——幽鬼不朽展示
2017/07/15 DOTA
python操作xml文件示例
2014/04/07 Python
Python随机生成彩票号码的方法
2015/03/05 Python
Python实现简单拆分PDF文件的方法
2015/07/30 Python
Windows中安装使用Virtualenv来创建独立Python环境
2016/05/31 Python
TensorFlow实现创建分类器
2018/02/06 Python
Python自定义线程池实现方法分析
2018/02/07 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
2018/07/10 Python
浅谈django rest jwt vue 跨域问题
2018/10/26 Python
Python使用pyserial进行串口通信的实例
2019/07/02 Python
Python文本处理简单易懂方法解析
2019/12/19 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
2020/02/25 Python
手把手教你安装Windows版本的Tensorflow
2020/03/26 Python
python中shell执行知识点
2020/05/06 Python
keras 自定义loss层+接受输入实例
2020/06/28 Python
物业管理求职自荐信
2013/09/25 职场文书
料理师求职信
2014/01/30 职场文书
离婚财产处理协议书
2014/09/30 职场文书
区域销售经理岗位职责
2015/04/02 职场文书
为什么代码规范要求SQL语句不要过多的join
2021/06/23 MySQL