收藏 分销(赏)

JavaScript程序设计教程 第11章 综合实战--实现购物车功能.pdf

上传人:曲**** 文档编号:231313 上传时间:2023-03-21 格式:PDF 页数:23 大小:885.87KB
下载 相关 举报
JavaScript程序设计教程 第11章 综合实战--实现购物车功能.pdf_第1页
第1页 / 共23页
JavaScript程序设计教程 第11章 综合实战--实现购物车功能.pdf_第2页
第2页 / 共23页
JavaScript程序设计教程 第11章 综合实战--实现购物车功能.pdf_第3页
第3页 / 共23页
JavaScript程序设计教程 第11章 综合实战--实现购物车功能.pdf_第4页
第4页 / 共23页
JavaScript程序设计教程 第11章 综合实战--实现购物车功能.pdf_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、第11章综合实战实现购物车功能 11.1购物车特效布局OO 11.2准备工作OO11.3商品全选及合计功能实现O O 11.4商品预览浮层功能o11.5取消选择与事件代理OO 11.6OO11.7QO11.8小结商品价格计算实现删除QOO11.1 购物车特效布局(1)body中定义table标签和div标签,table标签存放所有商 品列表,div标签存放商品结算部分内容。(2)table标签中定义thead和tbody标签,thead标签即表格 头部,tbody标签即表格具体内容。(3)tbody中存放4个tr,每个tr代表一个商品,依次用td标 O签存放商品的勾选框、缩略图、商品名称、商品

2、单价、商品增 减操作按钮以及小计总价等。(4)div标签存放商品全选框、批量删除按钮、已选商品的预 览浮层以及商品计算价格。div标签样式为“foot”时商品预览 浮层隐藏,div标签样式为“foot show时商品预览浮层显示 o相应的css详见脚本style.css,此处不做赘述。购物车显示效果如图1L 1所示。M全选商品单价数量小计操作iphoneX78287828删除iphone6s plus36993699删除华为P1034883488删除0H 题族Pro7 plus23992399删除M全选删除已选商品4件-合计:17414.00结箕图11.1购物车效果图o11.2 准备工作有了购

3、物车总体布局之后就可以开始一步步进行功能实现 了。比如购物车的全选功能实现、商品价格计算、购物车商品 删除等。而在实现这些功能之前需要先获取页面元素以及做一 些兼容性处理。这里单独写一个脚本script.js文件来实现购 物车的一系列操作。然后在html中引入外部脚本script,js文 件。ooooo window.onload=function()var cartlable=document.getElementByldCcartTable*);var tr=cartTable.children1.rows;var checkinputs=document.getElementsByCla

4、ssName(check);var checkAIIInputs=document.getElementsByClassName(check-air);var selectedTotal=document.getElementByld(selectedTotar);var pricelbtal=document.getElementByld(priceTotar);if(Jdocument.getElementsByClassName)document.getElementsByClassName=function(cis)var ret=;var els=document.getElemen

5、tsByTagName(*);for(var i=0,len=els.length;i=0|elsi.className.indexOf(+cis+)=0|elsi.className.indexOf(+cis)=0)ret.push(elsi);ooQreturn ret;脚本 scriptjsoQO分析如下。(1)window,onload=function().;OOQ将所有代码写在window,onload事件中,window,onload 事件控制在文档加载完毕后才执行JavaScript代码,避免了无 法获取对象的情况发生。,(2)var cartTable=document.ge

6、tElementById(,cartTable,);通过getElementByld方法获取table元素。Ooo(3)var tr=cartTable.children1.rows;:获取table元素下岬有tr元素,即获取所有的商品。cartTable.children表示cartTable所有子节点。cartTable.childrenl表示获取cartTable的两个子节点即tbody元素。rows属性为表麻质海有属性存放节占下面的所有 tr o(4)var checkinputs=document.getElementsByClassName(,check);通过getElement

7、sByClassName方法获取所有的选择框,这里 所有选择框都有样式check。Oo(5)var checkAllInputs=document.getElementsByClassNameC check-获取所有全选框,check-all为全选框的特有样式。o(6)if(!document.getElementsByClassName)O判断方法getElementsByClassName是否存在。低版本IE不支持getElementsByClassName方法,兼容IE则需 要自定义 getElementsByClassName 方法。OQo(7)document.getElements

8、ByClassName=function(cis).);q 自定义getElementsByClassName方法,传入参数cis类名1,表示想通过哪个类名来获取元素。(8)var ret=;var els=document.getElementsByTagName(;定义数组ret接收返回的结果。定义变量els获取所有元素 6O(9)for(var i=0;len=els.length;i len;i+)?for循环遍历所有元素,判断每个元素的classname是否等A于传递进来的参数cis,如果等于则调用数组的push方法将该 元素添加到数组ret。Oo(10)var selectedTo

9、tal=document.getElementById(selectedTotal);1 获取已选商品数量元素。Rl)var priceTotal=document.getElementById(priceTotal);获取商品总价格元素。oo o喂QoI 11.3商品全选及合计功能实现 首先给购物车添加商品全选的功能,即勾选全选按钮,商品前面的选择框全部选中;也可以单独勾选商品的选择框实现 单选;商品选择同时合计总价格会相应变化。购物车商品选中效果如图11.2和图11.3所示。OO已选商品4件 合计:17414.00结算图11.2购物车全选效果图单价数星小计78281+782836991+3

10、69934881+348823991+2399全选 删除已选商品2件4 合计:11527.00操作删除删除删除删除结算图11.3购物车部分选中效果oT 11.4商品预览浮层功能1 前面完成了购物车的单击功能(即选择功能),选择商 品可以计算价格和数量。但选中商品预览浮层功能还没有实 现。浮层布局已在11.1节中实现了。这里需要用JavaScript 去控制显示浮层内容。购物车商品预览浮层显示效果如图11.4所示。OOO图11.4购物车商品预览浮层显示效果X 11-5取消选择与事件代理前面完成了购物车商品预览浮层的显示与隐藏,但商品?“取消选择”的功能还没有实现。单击商品“取消选择”,i 需要相

11、应地将该商品从浮层中删除,同时将该商品置为未选 中状态。正常情况下,给取消选择增加onclick单击事件即 o 可处理,但这里浮层内容是动态加载的,即一开始是不存在 1 内容的,添加任何事件都是无法生效的。这样就需要引入 JavaScript的“事件代理”,也称“事件委托”,利用事件o 冒泡将事件添加到它们的父节点,也称将事件委托给父节点 来触份卜理函和购物车商品最消选择效果如图11.5所示。O图11.5购物车商品取消选择效果ooooo11.6商品价格计算购物车可以添加多种商品,也可以对一种商品添加多个,这就涉及商品数量的增减问题。单击按钮商品数量增加,oo价格也需要更新,单击按钮商品数量减少

12、,价格也相应更 新。有两种实现方法,一种是循环遍历每一行对和”按钮分别添加单击事件,一种是使用前面介绍的事件代理,将和的单击事件代理到每个tr元素上去实现。这里采 用第2种方法,无需重复绑定元素,避免影响页面性能。购物车商品价格计算显示效果如图11.6所示。Ooo图11.6购物车商品价格计算显示效果9 11.7实现删除1 购物车单选、全选、增删商品以及小计、合计功能实现后,还剩删除功能未处理。删除分为单行删除和批量删除。!单行删除是针对每一行删除商品,同样可以用事件代理,将1单行删除的单击事件代理到每个tr元素上去实现。购物车商品删除效果如图11.7所示。OOO,全选商品单价数量小计操作aQC

13、EBI k-iphone6s plus36991+3699蒯除a华为P1034881+3488删除 转族。ro7 plus23992399删除1i1+0 ig删除已选商品3件人 合计:9586.00结算图11.7购物车商品删除效果o 11.8小结综合前面小节的内容,购物车的一系列功能已全部实现。本章的项目基于JavaScript的购物车功能看起来是非常简 单的,实际上运用了前面所学的各章节基础知识,如JavaScript 的BOM操作、D0M操作、表格操作、事件处理等,将这些知识融合 在一起实现类似淘宝的购物车功能。当然,本章实现的功能是非O常简单的,可以在此基础上,随着需求的增长而不断地去完善。通过本章的项目实战,需要学会解决问题的思路以及思考需要运?用哪些技术,以怎样的方式去实现各种功能。

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服