章节
问答
课签
笔记
评论
占位
占位

编程挑战

小伙伴们,根据所学知识,使用JS实现案例中的购物车功能。

效果图:

 

任务要求:

一、扩展document.getElementsByClassName方法。

提示:
1. 判断是否存在document.getElementsByClassName
2. 如果不存在,使用document.getElementsByTagName('*')结合className来模拟

二、定义计算函数getTotal,计算总价格,数目,并更新已选弹层的HTML。

提示:
   1. 遍历每一行,判断是否已选。
   2.如果已选,分别累加总数,价格,弹层的HTML。
   3. 更新累加结果。

注意:如果没有勾选行的时候, 弹层的状态。

三、定义小计价格函数getSubTotal。

提示:
   1.接受一个参数tr,为要计算的行。
   2.取得数目输入框的值,乘单价。
   3. 结果写入小计的单元格。

四、绑定每一行勾选框事件。

提示:
   1.遍历每一行,取得勾选框,添加click事件。
   2. 判断是否为全选框,如果是,更新所有勾选框。
   3. 如果有一个未选择,全选框checked为false。

五、绑定已选按钮事件,用于显示或者隐藏浮层。

提示:
   1. 根据foot.className来相应变化,实现隐藏和显示。
   2. 如果已选项为0,则不显示。
六、在已选弹层上事件代理,用于删除已选。
提示:
   1.根据目标元素的class来判断是否点击了取消选择。
   2.取得代表行索引的自定义属性index。
   3. 把相应的勾选框去掉勾选。
   4.手动触发勾选框的click事件

注意:勾选框事件的手动触发。

七、遍历每一行,绑定事件。

1)在tr上绑定点击事件代理

提示:
   1.获取触发元素,取得class。
   2.如果class为add, 增加数目,并计算小计价格。
   3.如果class为reduce, 减少数目,并计算小计价格。
   4.如果class为delete,删除相应的行。
   5. 调用计算总数函数getTotal。
注意:IE下event对象存在window下

2)绑定数量输入框事件,实时更新小计价格

提示:
   1.绑定keyup事件。
   2.如果输入框的值不是数字或者小于1,重置为1。
   3.根据输入框的值,更新减号的显示和隐藏。

八、默认勾选所有商品。

提示:
   1.更改全选框的checked为true。
   2.触发全选框的click事件。

 

任务

任务要求在上方:

素材地址:

http://img1.sycdn.imooc.com//53b4c12b0001b0a702200220.jpg

http://img1.sycdn.imooc.com//53b4c149000144b202200220.jpg

http://img1.sycdn.imooc.com//53b4c16000011dfd02200220.jpg

 

?不会了怎么办

参考代码可在右下角"课件下载"区下载。

||

提问题

写笔记

公开笔记
提交
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布
全部 我要发布
最热 最新
只看我的

手记推荐

更多

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?