for (var i=0,len=clsElments.length我leni ) {
//考虑一个标签有多个班级的情况,这里用正则表达式会好一点
if(clselements[I].className==cls
| |(cls元素[I])。类名。(cls ' ')=0的索引)
| |(cls元素[I])。类名。(' cls ' ')=0的索引)
| |(cls元素[I])。类名。(' cls)=0)的索引
{
ret。push(cls elements[I]);
}
}
返回浸水使柔软
}
}
var购物车表=文档。getelementbyid(“购物车表”);
var tr=cartTable.children[1].行;//表格标签特有的属性,行可以获得表格元素的所有tr行。
var检查输入=文档。getelementbyclass name(“check”);//获得所有的单选框
var checkAllInput=document。getelementbyclass name(' check _ all ');//获得所有的单选框
var价格总计=单据。getelementbyid(' price totle ');//总价
var select totle=document。getelementbyid(“select totle”);//已选商品
var selected=文档。getelementbyid(' selected ');
var footer=文档。getelementbyid(“页脚”);//底部标签
var选择的视图列表=文档。getelementbyid(“selected view list”);//底部标签
var delete all=文档。getelementbyid(“delete all”);
//计算总价格和数量
函数getTotle(){
var select num=0;//数量
var价格编号=0;//价格
var html str=//缩略图的字符串拼接
for (var i=0,len=tr.length我leni ) {
if (tr[i].getElementsByTagName(' input ')[0].已检查){
tr[i].在.上
selectNum=parseInt(tr[i]).getElementsByTagName(' input ')[1].值);
priceNum=parseFloat(tr[i]).单元格[4]。innerHTML);
//拼接字符串显示已经选择的商品
HTMLstr='divimg src='' tr[i].getElementsByTagName('img')[0].src ' ' span class=' del ' index=' '取消选择/span/div ';
}
否则{
tr[i].类名=" ";
}
}
选择totle。innerhtml=select num
价格总计。innerhtml=价格编号。到固定(2);//保留两位小数
selectedviewlist。innerhtml=html字符串;
}
//计算小计价格
函数获取子标题(tr){
var tds=tr.cells
var price=parseFloat(tds[2]).innerHTML);
var num=parse int(tr。getelementsbytagname(' input ')[1].值);
var subt otle=parse float(价格*数量).toFixed(2);
tds[4].innerHTML=子标题
}
//复选框绑定单击事件
for (var i=0,len=checkInput.length我leni ){
检查输入[我].onclick=function (){
//判断全选按钮,变更
如果(这个。class name==' check _ all check '){
for(var j=0;lenj ){
检查输入[j]的缩写.已检查=这个.检查过了
}
}
if (this.checked==false) {
for (var k=0,len 2=checkallinput . lengthk len2k){
检查所有输入。选中=假;
}
}
gett otle();
}
}
//控制底部标签的显示
selected.onclick=function(){
如果(页脚。class name==' footer '){
footer.className=="页脚显示";
}否则{
footer.className=='页脚
}
}
//图片缩略图的取消选择按钮功能,e为事件对象
selectedviewlist。onclick=函数(e){
//兼容低版本的工业管理学(工业工程)
/*如果(e){
e=e
}否则{
e=窗口.事件
} */
var e=e | | window.event
var el=e.srcElement
如果(El。class name=' del '){
var指数=El。get attribute(“index”);
定义变量输入=tr[index].getElementsByTagName(' input ')[0];
input.checked=false
输入。onclick();
}
}
//实现加减、删除操作。同样用事件代理的方法实现
for (var i=0,len3=tr.length我len3i ){
tr[i].onclick=函数(e){
var e=e | | window.event
var el=e.srcElement
var cls name=El。类名;
var输入=this。getelementsbytagname(' input ')[1];
var输入值=parse int(input。值);
var reduce=this。getelementsbytagname(' span ')[1];
开关(clsName){
案例"添加":
/* parse int(输入值);*/
输入值=输入值1;
减少。innerhtml='-';
getSubTotle(this);
打破;
大小写"减少":
if(inputValue=1){
输入值=输入值-1;
}否则{
减少。innerhtml=
}
getSubTotle(this);
打破;
案例"删除":
var conf=confirm('确定删除这个商品?');
if (conf) {
这个。父节点。删除子对象(this);
}
打破;
默认值:
打破;
}
gett otle();
}
//处理从手动输入商品数量
tr[i].getElementsByTagName(' input ')[1].onkeyup=function(){
var val=this.value
var tr=this。父节点。父节点;
if (isNaN(val) || val 0 ) {
val=1;
}
这个值=val
getSubTotle(tr);
}
}
//全选删除
deleteAll.onclick=function(){
if (selectTotle.innerHTML!='0') {
var conf=confirm('确定删除这些商品?');
if (conf) {
for (var i=0,len=tr.length我leni ) {
var输入=tr[i].getElementsByTagName(' input ')[0];
if(input.checked){
tr[I]。父节点。移除子级(tr[I]);
}
}
}
}
}
}
//取消选择-采用事件代理-放到父元素上。
shoppingCart.html。计数_输入{
宽度:39px
高度:15px
行高:15px
边框:1px纯色# aaa
颜色:# 343434;
文本对齐:居中;
填充:4px 0;
背景色:# fff
}
span.add,span.reduce{
高度:23px
宽度:27px
边框:1px纯色# e5e5e5
背景:# f0f0f0
行高:23px
颜色:# 444;
}。关闭{
显示:内嵌-块;
宽度:120像素
高度:50px
行高:50px
背景:# f40
文本对齐:居中;
字体系列:'微软雅黑;
字体大小:20px
-WebKit-border-radius:2px;
-moz-border-radius:2px;
-ms-border-radius:2px;
边框-半径:2px
文字-装饰:无;
光标:指针;
}。fr{
浮动:对;
}。selected_totle,选择全部,选择全部.delete_all{
边距-顶部:15px
}。页脚{
高度:50px
背景:# e5e5e5
字体系列:'微软雅黑;
}
#选择总量,#价格总量,副标题{
颜色:# f40
字体粗细:700;
字体大小:18px
字体系列:tohoma,arial
填充:5px
}
以上就是射流研究…模拟淘宝购物车的全部项目代码,欢迎大家学习品鉴,从中得到收获。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。