电商网站的商品收藏功能实现

商品收藏的功能描述:用户对一件商品重复的进行收藏与取消收藏操作。点击收藏,将商品收藏成功,并且图标变为  已收藏;点击已收藏,则取消对该商品的收藏,并且图标变为  收藏 。这个操作可以重复进行!
       
        下面是我设计此功能的步骤以及关键代码:
        1.首先创建一张收藏表:我的收藏表只有三个字段:id;userID(用户id);productID(产品id);
        2.写添加收藏与取消收藏的方法(要根据userID和productID两个参数来实现收藏与取消收藏的);
        3.我的收藏图标是在商品详情页,所以要在进入商品详情页的时候进行判断,判断该用户有没有收藏该商品!如果该用户已收藏该商品,则图标显示  已收藏,反之,则显示  收藏 。
        4.在进入商品详情页,根据点击图标所显示的文字来判断你所进行的操作,如果点击的文字是收藏,则触发收藏事件,通过ajax进行该用户对该产品的收藏方法;如果点击的文字是已收藏,则触发取消收藏事件,也是通过ajax进行该用户对该产品的取消收藏方法。(注意:这里要先获取到该用户的userID和该商品的productID,这两个参数都可以在进入商品详情的那个方法中获取;“collection.do” 添加收藏的方法,“deleteUcByUPId.do”取消收藏的方法。)
商品详情页关键代码如下:

<div id="mir"  class="right clearfloat fr" style="text-align: center;"><i id="shoucang" class="iconfont icon-shoucang"></i><p style="cursor: pointer;" id="btn" class=""><a style="color: #8f8f94;" href="Javascript:window.external.addFavorite(document.location.href,document.title)">收藏</a></p>
</div>
<script type="text/javascript">var productID = ${requestScope.productID};var userID = ${requestScope.userID};function addbtn(){$("#shoucang").addClass('icon-shoucang1').removeClass('icon-shoucang');$("#btn").text('已收藏');};function dedlebtn(){$("#btn").text('收藏');$("#shoucang").addClass('icon-shoucang').removeClass('icon-shoucang1');};$(document).ready(function () {if (${message.type} == 0){dedlebtn();}else{addbtn();}});$("#mir").click(function() {if ($("#btn").text() == '收藏' ) {$("#shoucang").addClass('icon-shoucang1').removeClass('icon-shoucang');$("#btn").text('已收藏');} else {$("#btn").text('收藏');$("#shoucang").addClass('icon-shoucang').removeClass('icon-shoucang1');}if($("#btn").text() == '收藏'){deleteCollection(productID,userID);}else{addUserCollection(productID,userID);}});function addUserCollection(productID){$.ajax({type: "POST",url: "collection.do",data:{"productID":productID,"userID":userID},dataType: "text",success:function(data){if(data=="1"){$("#shoucang").addClass('icon-shoucang1').removeClass('icon-shoucang');$("#btn").text('已收藏');}else{$("#btn").text('收藏');$("#shoucang").addClass('icon-shoucang').removeClass('icon-shoucang1');}}})}function deleteCollection(productID,userID){$.ajax({type: "POST",url: "deleteUcByUPId.do",data:{"productID":productID,"userID":userID},dataType: "text",success:function(data){if(data=="1"){$("#btn").text('收藏');$("#shoucang").addClass('icon-shoucang').removeClass('icon-shoucang1');}else{$("#shoucang").addClass('icon-shoucang1').removeClass('icon-shoucang');$("#btn").text('已收藏');}}})}</script>






商品收藏模块的功能设计实现相关推荐

  1. 使用 apifm-wxapi 开发微信小程序之商品砍价模块

    前言 本教程是基于 "apifm-wxapi" 模块,教你快速实现小程序开发,所以你可能需要先了解以下知识点: <创建 HelloWorld 项目> <使用 &q ...

  2. 购物车模块的功能设计

    购物车模块的功能设计 (按点击按钮来写) 1.添加到购物车(点击添加到购物车,将商品添加到购物车表): 当用户点击添加到购物车,触发一个点击事件,比如这个添加购物车的点击事件是addShopcar(p ...

  3. 微信小程序功能:商品收藏-图片预览-客服-分享-加入购物车

    微信小程序–商品详情页面 包含功能点: 商品收藏 图片预览 客服 分享 加入购物车 跳转到购物车页面(注意:open-type="switchTab") 结构:goods_deta ...

  4. OpenCart之特色商品(Featured)模块教程

    2019独角兽企业重金招聘Python工程师标准>>> 本教程由opencart中国网站制作,如有转载请注明出处: http://www.opencartchina.com/bbs/ ...

  5. 微信小程序商城项目实战(第十一篇:商品收藏+历史浏览管理)

    商品收藏+历史浏览管理 商品收藏+历史浏览页面 分析 代码实现 效果图展示 商品收藏: 历史浏览: 商品收藏+历史浏览页面 共用一个页面 分析 顶部改为"商品收藏" 上方为导航栏: ...

  6. 商品超市管理系统实现超市的商品维护模块(增查改)

    大家好,今天我看见许多人在问商品超市管理系统实现超市的商品维护模块(增查改),其实这个和我上次分享的学生管理系统差不多. 首先既然是商品维护模块,那就应该有商品信息来维护,那么要怎么样获取商品信息,我 ...

  7. 谷粒商城项目篇6_分布式基础完结篇_商品服务模块(品牌管理、平台属性、新增商品)、仓储服务模块(仓库管理)

    目录 商品服务模块 品牌管理 品牌对应三级目录的增删改查 平台属性 数据库表关系 规格参数 增删改查 销售属性 属性分组 新增商品 获取三级分类及品牌 商品json存储格式 数据库表设计 商品服务调用 ...

  8. EasyGBS视频平台添加重点摄像机收藏模块

    TSINGSEE青犀视频开发的国标GB28181协议视频智能分析平台EasyGBS已经兼容了采集-存储-展示-告警这四大模块的内容处理,能够为大数据平台的搭建提供视频能力上的支持.同时为了增强Easy ...

  9. 99.Spark大型电商项目-各区域热门商品统计-模块介绍

    目录 各区域热门商品统计 作业提交 大数据方向的职业发展规划 用户行为分析意义 本篇文章记录各区域热门商品统计-模块介绍. 各区域热门商品统计 需求:根据用户指定的日期范围,统计各个区域下的最热门的t ...

最新文章

  1. Unity空间射击游戏开发教程
  2. C#之Action和Func的用法(转自 https://www.cnblogs.com/LipeiNet/p/4694225.html)
  3. multipath管理存储多路径
  4. android 上下滚动文字_android高仿今日头条富文本编辑(发布文章)
  5. docker多个容器一起打包_详解Docker 容器基础系统镜像打包
  6. 汇编-输出寄存器的值-输出值
  7. thinkphp3.23开发的“二当家的”官网
  8. c语言中文件如何插入数据,急求如何将下列C语言程序数据存储到文件中?
  9. idea mybatis generator插件_SpringBoot+MyBatis+Druid整合demo
  10. linux中的变量文件路径,Linux库文件和Shell可执行程序命令文件搜索路径变量的设置...
  11. MPEG4 H.264学习笔记之三 ------ 熵编码
  12. C语言输入函数换行符赋给变量B,C语言程序设计第3章顺序结构程序设计.pptx-资源下载在线文库www.lddoc.cn...
  13. html新建通用loading,漂亮实用的页面loading(加载)封装代码
  14. linux静态反汇编工具,源码恢复反汇编静态分析工具IDA pro
  15. svn 分支上新增文件合并发生冲突_windows 下svn 创建分支 合并分支 冲突
  16. 【正点原子FPGA连载】第三十二章 MDIO接口读写测试实验-摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0
  17. 视频素材网站,免费可商用
  18. VMware Workstation Pro v15.0.0官方正版
  19. MIPI CSI-2笔记(10) -- Low Level Protocol(延迟降低、传输效率增强特性LRTE)
  20. lwip-SNMP移植

热门文章

  1. 介绍 Golang 日志处理
  2. 什么是全景漫游,VR全景漫游系统功能有哪些?
  3. python 移动平均线_Python 计算EMA(指数移动平均线)
  4. 第03课:分布式一致性协议 Gossip 和 Redis 集群原理解析
  5. PyQT中QTableWidget根据单元格内容设置自动宽度
  6. DQL操作(数据库表数据查询操作)
  7. MYSQL第十四次作业---电子商城数据库搭建
  8. SpringBoot 格式化 LocalDateTime的格式化配置方案
  9. 浅谈国内SLAM技术发展现状
  10. 软考信息系统监理师,2016年3月18日作业