悦轩饼家购物车动态效果

本文详细介绍了如何实现悦轩饼家购物车的动态效果,包括使用JavaScript和jQuery进行页面交互,如遍历元素、获取父级和相邻元素、处理数据类型以及调整元素样式等。在实现过程中,作者遇到总价格显示NaN和背景图片不居中的问题,并通过修正遍历代码和设置元素样式来成功解决。
摘要由CSDN通过智能技术生成

1)主题(目标):

完成悦轩饼家购物车动态效果

2)完成页面所需要的知识点(重难点)

遍历:each()

正在执行当前事件的元素:$(this)

父级元素:parent()

上一个标签:prev()

下一个标签:next()

把当前数据变成int类型parseInt()

标签中的内容:text()

用来检查指定元素是否被包含:hasClass()

元素背景图片只显示一次,不重复:background-repeat: no-repeat;

3)完成页面的步骤

首先将静态页面中数量的数值改为一个减法按钮一个文本框和一个加法按钮,分别给三个标签用三个名字命名class,总金额也起一个不同的class名字,在引入jQuery插件,用js编写代码就能完成。如下:

<script type="text/javascript">
		$(function(){
			//计算总金额
			function getsum(){
				var sum=0;
				//遍历获取到的每一个对象
				$(".num").each(function(){
					//获取标签
					var prices=$(this).parent().prev().text();
					//计算总价
					sum+=$(this).val()*prices;
				})
				//把总价放入指定位置
				$(".sum").text(sum);
			}
			//单击减法按钮,让文本框内的数字-1
			$(".jian").click(function(){
				//获取标签,next()下一个标签
				var num=$(this).next().val();
				//判断,当num大于0时-1
				if(num>0){
					$(this).next().val(num-1);
				}
				getsum();
			})
			//单击加法按钮,让文本框内的数字+1
			$(".add").click(function(){
				//获取上一个标签的内容
				var num=$(this).prev().val();
				//把num变成int类型
				var n=parseInt(num);
				//把文本框内的数字+1
				$(this).prev().val(n+1);
				getsum();
			})
		})
	</script>

商品选中状态样式切换:

$(".bgimg").addClass("active-add")
			$(".bgimg").click(function(){
				if($(this).hasClass("active-add")){
					$(this).removeClass("active-add").addClass("active-remove");
				}else{
					$(this).removeClass("active-remove").addClass("active-add");
				}
			})

删除商品效果:

$(".delete").click(function(){
				if(confirm("确定要删除吗?")){
					$(this).parent().remove();
				}
			})

(4)写页面的过程中碰到的问题,怎么解决的?

问题:点击加减按钮操作,总价格就变成NaN了

解决:遍历中的text内容代码因相似错写成next()下一个

问题:选中状态背景图片不居中

解决:给a标签设置的背景图片,给a标签设置和背景图片相同的宽高,再用margin:auto居中

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值