js购物车功能php,javascript如何实现购物车的功能(代码)

本文详细介绍了如何使用JavaScript来实现购物车功能,包括商品数量的加减、小计计算、总价显示、全选和反选操作。通过实例代码展示了购物车表格中各个元素的交互逻辑,帮助读者理解JavaScript在前端开发中的应用。

本篇文章给大家带来的内容是关于javascript如何实现购物车的功能(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

购物车

table{

width: 600px;

margin: 0 auto;

border-collapse: collapse;

}

td{

border: 1px solid silver;

line-height: 40px;

text-align: center;

}

.btnl,.btnr{

border-style: none;

outline: none;

color: deeppink;

}

.txt{

width: 30px;

height: 30px;

border-style: none;

outline: none;

text-align: center;

}

全选序号名称价钱数量小计操作
1毛衣99-+99删除
2短袖108-+108删除
3运动鞋10000-+10000删除
4凉鞋25-+25删除
反选总计:0¥去结算

//获取左右的按钮集合

var btnleft=document.getElementsByClassName("btnl");

var btnright=document.getElementsByClassName("btnr");

//获取表示数量的class名为txt的input元素集合

var txt=document.getElementsByClassName("txt");

//获取表示单价的class名为price的span元素集合

var price=document.getElementsByClassName("price");

//获取表示小计的class名为smallprice的span元素集合

var small=document.getElementsByClassName("smallprice");

//获取表示总价的class名为totle的span元素

var totle=document.getElementsByClassName("totle")[0];

//获取全选反选按钮和选择框

var btna=document.getElementById("btna");

var btnf=document.getElementById("btnf");

var box=document.getElementsByClassName("ckbox");

//获取删除按钮

var btndelete=document.getElementsByClassName("btndelete");

var trlist=document.getElementsByClassName("trinfo");

var totleprice=0; //定义全局变量totleprice的初值为0

//给数量左右两边的+-添加点击事件

for(var i=0;i

{

btnleft[i].index=i; //把i的值赋给btnleft[i]的index

btnleft[i].onclick=function (){ //获取当前对应的文本框的值

var val=txt[this.index].value;

val--; //控制其数量的值不能小于1

if(val<=1)

{

val=1;

}

txt[this.index].value=val; //把更新了的val值再赋给txt[this.index].value

addprice(this.index); //调用一下addprice()使其在当前变化下执行

}

btnright[i].index=i; //把i的值赋给btnright[i]的index

btnright[i].onclick=function (){

var val=txt[this.index].value;

val++;

txt[this.index].value=val;

addprice(this.index);

}

//给checkbox添加点击事件

box[i].onclick=function (){

showtotleprice();

}

//给删除添加点击事件

btndelete[i].index=i;

btndelete[i].onclick=function (){

totleprice-=parseFloat(small[this.index].innerText); //将总计里面对应的价格也减掉

totle.innerText=totleprice;

trlist[this.index].remove(); //去掉对应的那一行元素

//重新更新索引 防止其他操作出错

for(var k=0;k

{

trlist[k].index=k;

btndelete[k].index=k;

btnleft[k].index=k;

btnright[k].index=k;

}

}

} //计算小计

function addprice(index){

small[index].innerText=(price[index].innerText*txt[index].value);

} //计算总计

function showtotleprice(){

totleprice=0;

for(var i=0;i

{

if(box[i].checked)

{

totleprice+=parseFloat(small[i].innerText);

}

}

totle.innerText=totleprice;

}

//全选

btna.onclick=function (){

for(var i=0;i

{

box[i].checked=true;

}

showtotleprice();

}

//反选

btnf.onclick=function (){

for(var i=0;i

{

box[i].checked=!box[i].checked;

}

showtotleprice();

}

相关推荐:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值