使用jQuery实现购物界面的动态效果

本文主要是介绍使用jQuery实现购物界面的动态效果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实现功能:(购物车以表格的格式展示)

              1  全选框和复选框之间的联动关系:

                        点击全选,所有复选框checked状态为true

                        点击复选框,全选框状态实时更新

             2    点击删除按钮,删除对应的行

             3  点击删除所选按钮,被选中的复选框实现删除功能

             4   点击加减图片,实现对应行数量的加减功能

             5  点击对应店铺的复选框按钮,实时展示所选择的商品总价,及可获积分点  

   

                                     购物界面.html

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><title>淘宝购物车页面</title><link href="css/myCart.css"  rel="stylesheet" /><script src="js/jquery-3.5.1.min.js"></script><script src="js/myCart购物jquery.js"></script>
</head>
<body>
<div id="header"><img src="images/taobao_logo.gif" alt="logo" /></div>
<div id="nav">您的位置:<a href="#">首页</a> &gt; <a href="#">我的淘宝</a> &gt; 我的购物车</div>
<div id="navlist"><ul><li class="navlist_red_left"></li><li class="navlist_red">1. 查看购物车</li><li class="navlist_red_arrow"></li><li class="navlist_gray">2. 确认订单信息</li><li class="navlist_gray_arrow"></li><li class="navlist_gray">3. 付款到支付宝</li><li class="navlist_gray_arrow"></li><li class="navlist_gray">4. 确认收货</li><li class="navlist_gray_arrow"></li><li class="navlist_gray">5. 评价</li><li class="navlist_gray_right"></li></ul>
</div><div id="content"><form action="" method="post" name="myform"><table width="100%" border="0" cellspacing="0" cellpadding="0" id="shopping">        <tr><td class="title_1"><input id="allCheckBox" type="checkbox" value=""/>全选</td><td class="title_2" colspan="2">店铺宝贝</td><td class="title_3">获积分</td><td class="title_4">单价(元)</td><td class="title_5">数量</td><td class="title_6">小计(元)</td><td class="title_7">操作</td></tr><tr><td colspan="8" class="line"></td></tr><tr><td colspan="8" class="shopInfo">店铺:<a href="#">纤巧百媚时尚鞋坊</a>    卖家:<a href="#">纤巧百媚</a> <img src="images/taobao_relation.jpg" alt="relation" /></td></tr><tr id="product1"><td class="cart_td_1"><input name="cartCheckBox" type="checkbox" value="product1"/></td><td class="cart_td_2"><img src="images/taobao_cart_01.jpg" alt="shopping"/></td><td class="cart_td_3"><a href="#">日韩流行风时尚美眉最爱独特米字拼图金属坡跟公主靴子黑色</a><br />颜色:棕色 尺码:37<br />保障:<img src="images/taobao_icon_01.jpg" alt="icon" /></td><td class="cart_td_4">5</td><td class="cart_td_5">138.00</td><td class="cart_td_6"><img src="images/taobao_minus.jpg" alt="minus" class="hand"/> <input id="num_1" type="text"  value="1" class="num_input" readonly="readonly"/> <img src="images/taobao_adding.jpg" alt="add" class="hand"/></td><td class="cart_td_7"></td><td class="cart_td_8"><a href="javascript:void(0);">删除</a></td></tr><tr><td colspan="8" class="shopInfo">店铺:<a href="#">香港我的美丽日记</a>    卖家:<a href="#">lokemick2009</a> <img src="images/taobao_relation.jpg" alt="relation" /></td></tr><tr id="product2"><td class="cart_td_1"><input name="cartCheckBox" type="checkbox" value="product2" /></td><td class="cart_td_2"><img src="images/taobao_cart_02.jpg" alt="shopping"/></td><td class="cart_td_3"><a href="#">chanel/香奈尔/香奈尔炫亮魅力唇膏3.5g</a><br />保障:<img src="images/taobao_icon_01.jpg" alt="icon" /> <img src="images/taobao_icon_02.jpg" alt="icon" /></td><td class="cart_td_4">12</td><td class="cart_td_5">265.00</td><td class="cart_td_6"><img src="images/taobao_minus.jpg" alt="minus" class="hand"/> <input id="num_2" type="text"  value="1" class="num_input" readonly="readonly"/> <img src="images/taobao_adding.jpg" alt="add" class="hand"/></td><td class="cart_td_7"></td><td class="cart_td_8"><a href="javascript:void(0);">删除</a></td></tr><tr><td colspan="8" class="shopInfo">店铺:<a href="#">实体经营</a>    卖家:<a href="#">林颜店铺</a> <img src="images/taobao_relation.jpg" alt="relation" /></td></tr><tr id="product3"><td class="cart_td_1"><input name="cartCheckBox" type="checkbox" value="product3"/></td><td class="cart_td_2"><img src="images/taobao_cart_03.jpg" alt="shopping"/></td><td class="cart_td_3"><a href="#">蝶妆海?蓝清滢粉底液10#(象牙白)</a><br />保障:<img src="images/taobao_icon_01.jpg" alt="icon" /> <img src="images/taobao_icon_02.jpg" alt="icon" /></td><td class="cart_td_4">3</td><td class="cart_td_5">85.00</td><td class="cart_td_6"><img src="images/taobao_minus.jpg" alt="minus" class="hand"/> <input id="num_3" type="text"  value="1" class="num_input" readonly="readonly"/> <img src="images/taobao_adding.jpg" alt="add" class="hand"/></td><td class="cart_td_7"></td><td class="cart_td_8"><a href="javascript:void(0);">删除</a></td></tr><tr><td colspan="8" class="shopInfo">店铺:<a href="#">红豆豆的小屋</a>    卖家:<a href="#">taobao豆豆</a> <img src="images/taobao_relation.jpg" alt="relation" /></td></tr><tr id="product4"><td class="cart_td_1"><input name="cartCheckBox" type="checkbox" value="product4"/></td><td class="cart_td_2"><img src="images/taobao_cart_04.jpg" alt="shopping"/></td><td class="cart_td_3"><a href="#">相宜促销专供 大S推荐 最好用的LilyBell化妆棉</a><br />保障:<img src="images/taobao_icon_01.jpg" alt="icon" /></td><td class="cart_td_4">12</td><td class="cart_td_5">12.00</td><td class="cart_td_6"><img src="images/taobao_minus.jpg" alt="minus" class="hand"/> <input id="num_4" type="text"  value="2" class="num_input" readonly="readonly"/> <img src="images/taobao_adding.jpg" alt="add" class="hand"/></td><td class="cart_td_7"></td><td class="cart_td_8"><a href="javascript:void(0);">删除</a></td></tr><tr><td  colspan="3"><a id="deleteAll" href="javascript:void(0);"><img src="images/taobao_del.jpg" alt="delete"/></a></td><td colspan="5" class="shopend">商品总价(不含运费):<label id="total" class="yellow"></label> 元<br />可获积分 <label class="yellow" id="integral"></label> 点<br /><input name=" " type="image" src="images/taobao_subtn.jpg" /></td></tr>        </table></form>
</div></body>
</html>

 

                     实现功能的jQuery代码

$(function(){xiaoji()$("#allCheckBox").click(function(){let isOk = $(this).prop("checked");console.log(isOk)$("[name='cartCheckBox']").prop("checked",isOk)})$("[name='cartCheckBox']").click(function(){console.log($("[name='cartCheckBox']").length)console.log($("[name='cartCheckBox']:checked").length)if($("[name='cartCheckBox']").length == $("[name='cartCheckBox']:checked").length){$("#allCheckBox").prop("checked",true);	}else{$("#allCheckBox").prop("checked",false);}xiaoji()})$(".cart_td_8 a").click(function(){$(this).parents("tr").prev().remove()$(this).parents("tr").remove()xiaoji()})$("#deleteAll").click(function (){// let indexBox = 	$("[name='cartCheckBox']:checked")// for (let s of indexBox) {// 	// $(".cart_td_8 a").index(s).parents("#product1").prev().remove()// 	$(".cart_td_8 a").index(s).parents("#product1").remove()// }// xiaoji()let boxObject =	$(".cart_td_1 input:checked")boxObject.parents("tr").prev().remove()boxObject.parents("tr").remove()xiaoji()})$(".hand").click(function(){let nums = $(".cart_td_6")let indexImg =	$(".hand").index(this);console.log(indexImg)console.log(indexImg % 2+"----"+"indexImg % 2")console.log("------------")console.log((indexImg+2)/2+"----"+"(indexImg+2)/2")let defaultNum = 0;	if(indexImg % 2 == 0){if(nums.eq((indexImg+2)/2-1).children("input").val()==1){return;}nums.eq((indexImg+2)/2-1).children("input").val(parseInt(nums.eq((indexImg+2)/2-1).children("input").val()) -  1)}else{nums.eq((indexImg+1)/2-1).children("input").val(parseInt(nums.eq((indexImg+1)/2-1).children("input").val())	 +1)}xiaoji()})function xiaoji(){let xiaojis =  $(".cart_td_7")let prices = $(".cart_td_5")let nums = $(".cart_td_6")let jifens = $(".cart_td_4")let totalMoney = 0;let totalJifen = 0;for (let i = 0; i < prices.length; i++) {let indexGoods =	ilet num = nums.eq(indexGoods).children("input").val()let price = prices.eq(indexGoods).text()let jifen = jifens.eq(indexGoods).text()let money = price*numlet jifenType = jifen*numxiaojis.eq(indexGoods).text(money)// for (var m = 0; m< $("[name='cartCheckBox']:checked").length; m++) {// 	let indexNameObject =;// 	if(i == indexNameObject){// 		totalMoney += money;// 		totalJifen += jifenType;// 	}// }}$("[name='cartCheckBox']:checked").each(function() {let index = $("[name='cartCheckBox']").index(this); // 获取当前选中复选框所在行的索引let price = $(".cart_td_5").eq(index).text(); // 获取对应商品的价格let num = $(".cart_td_6").eq(index).children("input").val(); // 获取对应商品的数量let jifen = $(".cart_td_4").eq(index).text(); // 获取对应商品的积分let money = price * num; // 计算商品的小计金额let jifenType = jifen * num; // 计算商品的小计积分totalMoney += money; // 累加总金额totalJifen += jifenType; // 累加总积分});$("#total").text(totalMoney)$("#integral").text(totalJifen)}
})

这篇关于使用jQuery实现购物界面的动态效果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/893854

相关文章

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.

MySQL中DATE_FORMAT时间函数的使用小结

《MySQL中DATE_FORMAT时间函数的使用小结》本文主要介绍了MySQL中DATE_FORMAT时间函数的使用小结,用于格式化日期/时间字段,可提取年月、统计月份数据、精确到天,对大家的学习或... 目录前言DATE_FORMAT时间函数总结前言mysql可以使用DATE_FORMAT获取日期字段

Qt中实现多线程导出数据功能的四种方式小结

《Qt中实现多线程导出数据功能的四种方式小结》在以往的项目开发中,在很多地方用到了多线程,本文将记录下在Qt开发中用到的多线程技术实现方法,以导出指定范围的数字到txt文件为例,展示多线程不同的实现方... 目录前言导出文件的示例工具类QThreadQObject的moveToThread方法实现多线程QC

Go语言使用sync.Mutex实现资源加锁

《Go语言使用sync.Mutex实现资源加锁》数据共享是一把双刃剑,Go语言为我们提供了sync.Mutex,一种最基础也是最常用的加锁方式,用于保证在任意时刻只有一个goroutine能访问共享... 目录一、什么是 Mutex二、为什么需要加锁三、实战案例:并发安全的计数器1. 未加锁示例(存在竞态)

基于Redisson实现分布式系统下的接口限流

《基于Redisson实现分布式系统下的接口限流》在高并发场景下,接口限流是保障系统稳定性的重要手段,本文将介绍利用Redisson结合Redis实现分布式环境下的接口限流,具有一定的参考价值,感兴趣... 目录分布式限流的核心挑战基于 Redisson 的分布式限流设计思路实现步骤引入依赖定义限流注解实现

SpringBoot实现虚拟线程的方案

《SpringBoot实现虚拟线程的方案》Java19引入虚拟线程,本文就来介绍一下SpringBoot实现虚拟线程的方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录什么是虚拟线程虚拟线程和普通线程的区别SpringBoot使用虚拟线程配置@Async性能对比H

基于Python实现进阶版PDF合并/拆分工具

《基于Python实现进阶版PDF合并/拆分工具》在数字化时代,PDF文件已成为日常工作和学习中不可或缺的一部分,本文将详细介绍一款简单易用的PDF工具,帮助用户轻松完成PDF文件的合并与拆分操作... 目录工具概述环境准备界面说明合并PDF文件拆分PDF文件高级技巧常见问题完整源代码总结在数字化时代,PD

Python实现Word转PDF全攻略(从入门到实战)

《Python实现Word转PDF全攻略(从入门到实战)》在数字化办公场景中,Word文档的跨平台兼容性始终是个难题,而PDF格式凭借所见即所得的特性,已成为文档分发和归档的标准格式,下面小编就来和大... 目录一、为什么需要python处理Word转PDF?二、主流转换方案对比三、五套实战方案详解方案1:

SpringBoot集成EasyExcel实现百万级别的数据导入导出实践指南

《SpringBoot集成EasyExcel实现百万级别的数据导入导出实践指南》本文将基于开源项目springboot-easyexcel-batch进行解析与扩展,手把手教大家如何在SpringBo... 目录项目结构概览核心依赖百万级导出实战场景核心代码效果百万级导入实战场景监听器和Service(核心

C# async await 异步编程实现机制详解

《C#asyncawait异步编程实现机制详解》async/await是C#5.0引入的语法糖,它基于**状态机(StateMachine)**模式实现,将异步方法转换为编译器生成的状态机类,本... 目录一、async/await 异步编程实现机制1.1 核心概念1.2 编译器转换过程1.3 关键组件解析