在前端开发中,购物车功能是相当常见的,本文将介绍如何使用 jQuery 和 HTML5 完成简单的购物车功能。我们将利用 HTML5 提供的本地存储功能来实现购物车数据的保存,而 jQuery 则可以让我们轻松地处理 DOM 操作和事件。
1. 前期准备
在开始编写代码之前,我们需要对页面进行一些基本的准备工作。首先,在 HTML 文件中添加一个空的购物车列表:
<div id="cart-list"> <ul></ul> </div>
接下来,我们需要为商品列表中的每个加入购物车按钮添加事件处理函数,并将商品信息保存在本地存储中。具体代码如下:
-- -------------------- ---- ------- --- ------------------ --- ------------ ------------------ -- ---------------- ----------- ------ ------------- ------- ----------------------- -- ------------- ----- --- ------------ ------------------ -- ---------------- ----------- ------ ------------- ------- ----------------------- -- ------------- ----- --- ------------ ------------------ -- ---------------- ----------- ------ ------------- ------- ----------------------- -- ------------- ----- ----- -------- ------------ - -- -------------------------- ---------------------------------- - --- -------- - ---------------------- --- --------- - -------------------- --- ----------- - ---------------------- --- ------------ - ----------------------- --- ---- - ---------------------------------------- -- --- -- ------------------ - --------------- - - ----- ------------ ------ ------------- --------- - -- - --------------------------- ---------------------------- ---------------------- --- --- ---------
在上述代码中,我们为每个加入购物车按钮添加了一个点击事件处理函数。当用户点击按钮时,我们首先获取所选商品的 ID、名称和价格,并将这些信息保存在一个对象中。接下来,我们通过检查本地存储中是否已经存在该商品的记录,来判断是新加入的商品还是已经存在于购物车中的商品。如果是新商品,则将其添加到购物车记录中,并设置数量为 1;否则,仅将其数量加 1。
2. 购物车页面
现在,我们需要创建一个完整的购物车页面,以显示用户选择的所有商品及其价格和数量,在 HTML 文件中添加以下代码:
-- -------------------- ---- ------- ---- --------------- --------- ---- ---------------------- ------ -------- ------------ - -- ------- -------- ---------- - --- ---- - ---------------------------------------- -- --- --- --------- - ------------- - ------------- --- ----- - -- --- ---- --------- -- ----- - --- ------- - ---------------- --- -------- - ------------- - ----------------- ----- -- --------- -------------- ------------------ - - - - - ----------------- ----------------------------------- - --------------------- --------------------- - ---------------------------- ----------------------------------- - ------------------ --------------------- ----------------------------- -- - ------------------ - -- ------------- ----------- -- ------------------- -- - ---------------------------------------------------------- -------- --------------------------------------------------------------------------------