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插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
Mar 23 jQuery
基于JQuery和原生JavaScript实现网页定位导航特效
Apr 03 jQuery
jQuery使用正则验证15/18身份证的方法示例
Apr 27 jQuery
jQuery实现简单的抽奖游戏
May 05 jQuery
jQuery Validate 无法验证 chosen-select元素的解决方法
May 17 jQuery
jQuery Jsonp跨域模拟搜索引擎
Jun 17 jQuery
使用jQuery实现购物车结算功能
Aug 15 jQuery
利用JQuery操作iframe父页面、子页面的元素和方法汇总
Sep 10 jQuery
jQuery实现获取table中鼠标click点击位置行号与列号的方法
Oct 09 jQuery
jquery中有哪些api jQuery主要API
Nov 20 jQuery
jquery轻量级数字动画插件countUp.js使用详解
Oct 17 jQuery
jQuery实现简易QQ聊天框
Feb 10 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+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
2016/03/20 PHP
php+jQuery递归调用POST循环请求示例
2016/10/14 PHP
PHP xpath提取网页数据内容代码解析
2020/07/16 PHP
JavaScript实现Sleep函数的代码
2007/03/04 Javascript
javascript 清空form表单中某种元素的值
2009/12/26 Javascript
JQuery 技巧和窍门整理(8个)
2010/04/22 Javascript
javascript级联下拉列表实例代码(自写)
2013/05/10 Javascript
jquery 简单应用示例总结
2013/08/09 Javascript
javascript设置金额样式转换保留两位小数示例代码
2013/12/04 Javascript
js中将String转换为number以便比较
2014/07/08 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
JS定义网页表单提交(submit)的方法
2015/03/20 Javascript
JavaScript实现省市县三级级联特效
2017/05/16 Javascript
AngularJS 验证码60秒倒计时功能的实现
2017/06/05 Javascript
vue下跨域设置的相关介绍
2017/08/26 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
2018/05/22 jQuery
JS实现带阴历的日历功能详解
2019/01/24 Javascript
浅谈JS中几种轻松处理'this'指向方式
2019/09/16 Javascript
Vue 实现v-for循环的时候更改 class的样式名称
2020/07/17 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
2020/11/06 Javascript
[36:33]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第二场
2018/04/04 DOTA
[01:11:02]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
[40:04]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
浅谈python连续赋值可能引发的错误
2018/11/10 Python
python内置数据类型之列表操作
2018/11/12 Python
python+pyqt5实现KFC点餐收银系统
2019/01/24 Python
Tensorflow实现酸奶销量预测分析
2019/07/19 Python
python可视化篇之流式数据监控的实现
2019/08/07 Python
Python数据分析pandas模块用法实例详解
2019/11/20 Python
python使用matplotlib:subplot绘制多个子图的示例
2020/09/24 Python
自我鉴定思想方面
2013/10/07 职场文书
保安队长职务说明书
2014/02/23 职场文书
销售岗位职责范本
2014/06/12 职场文书
讲解MySQL增删改操作
2022/05/06 MySQL
JS中forEach()、map()、every()、some()和filter()的用法
2022/05/11 Javascript