美文网首页
初级JS实现购物车功能

初级JS实现购物车功能

作者: 一条逻辑线 | 来源:发表于2017-08-19 17:09 被阅读0次

这个购物车主要是由document节点进行操作的,主要功能就是商品的一些增删改查操作,这里就简单写下思路

1.先写全选功能,获取到全选按钮(allCheckBox)的复选框,添加点击事件函数

然后在获取到所有商品的复选框(cartCheckBox)可以通过getElementsByName来获取,

通过if判断全选按钮的checked是否为true,然后循环遍历商品的复选框,分别设置checked的属性达到

全选实现的功能,代码如下:

allCheckBox.onclick = function (){

if (allCheckBox.checked) {

for (var i = 0 ; i < cartCheckBoxs.length ; i++) {

cartCheckBoxs[i].checked = true;

if (cartCheckBoxs[i].checked) {

var chu = cartCheckBoxs[i].parentNode.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.innerHTML;

var va = cartCheckBoxs[i].parentNode.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.childNodes[2].value;

cartCheckBoxs[i].parentNode.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.innerHTML=parseInt(chu)*va;

tol.innerHTML = tolo();

inte.innerHTML = getCode();

}

}

} else{

for (var i = 0 ; i < cartCheckBoxs.length ; i++) {

cartCheckBoxs[i].checked = false;

cartCheckBoxs[i].parentNode.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.innerHTML='';

tol.innerHTML = tolo();

inte.innerHTML = getCode();

}

}

}

2.实现选择单个复选框,价格内容的变化,代码如下:

for (var i = 0 ; i < cartCheckBoxs.length ; i++) {

cartCheckBoxs[i].onclick = function(){

if (this.checked) {

var chu = this.parentNode.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.innerHTML;

var va = this.parentNode.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.childNodes[2].value;

this.parentNode.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.innerHTML=parseInt(chu)*va;

tol.innerHTML = tolo();

inte.innerHTML = getCode();

}else{

this.parentNode.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.innerHTML='';

tol.innerHTML = tolo();

inte.innerHTML = getCode();

}

}

}

3.购物车商品数量的增加和减少:

for(var i=0;i<cart6.length;i++){

var jian = cart6[i].getElementsByTagName('img')[0];

var add = cart6[i].getElementsByTagName('img')[1];

jian.onclick = function(){

if(this.nextSibling.nextSibling.value<2){

alert("数量不能小于0");

return;

}else{

this.nextSibling.nextSibling.value=parseInt(this.nextSibling.nextSibling.value)-1;

this.parentNode.nextSibling.nextSibling.innerHTML=(this.nextSibling.nextSibling.value) * (this.parentNode.previousSibling.previousSibling.innerHTML);

tol.innerHTML = tolo();

inte.innerHTML = getCode();

}

}

add.onclick = function(){

this.previousSibling.previousSibling.value=parseInt(this.previousSibling.previousSibling.value)+1;

this.parentNode.nextSibling.nextSibling.innerHTML=(this.previousSibling.previousSibling.value) * (this.parentNode.previousSibling.previousSibling.innerHTML);

tol.innerHTML = tolo();

inte.innerHTML = getCode();

}

}

4.购物车商品总价计算,代码如下:

function tolo(){

var sum=0;

for(var i=0;i<cart7.length;i++){

sum+=Number(cart7[i].innerHTML);

}

return sum;

}

5.购物车商品积分,代码如下:

function getCode(){

var ssm = 0;

for(var i=0;i<cart7.length;i++){

var code = cart7[i].previousSibling.previousSibling.previousSibling.previousSibling.previousSibling.previousSibling.innerHTML;

var prace = cart7[i].previousSibling.previousSibling.previousSibling.previousSibling.innerHTML;

var num = Number(cart7[i].innerHTML)/Number(prace);

code = Number(code);

console.log(code);

console.log(prace);

ssm += num*code;

console.log(ssm);

}

return ssm;

}

6.购物车删除相应商品,代码如下:

for(var j=0;j<cart8.length;j++){

var del = cart8[j].getElementsByTagName('a')[0];

del.onclick = function(){

this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);

tol.innerHTML = tolo();

inte.innerHTML = getCode();

}

}

7.购物车删除所选项,代码如下:

deleteAll.onclick = function (){

for (var i = 0 ; i < cartCheckBoxs.length ; i++) {

if (cartCheckBoxs[i].checked) {

cartCheckBoxs[i].checked = false;

cartCheckBoxs[i].parentNode.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.innerHTML='';

tol.innerHTML = tolo();

inte.innerHTML = getCode();

}

}

}

相关文章

  • 初级JS实现购物车功能

    这个购物车主要是由document节点进行操作的,主要功能就是商品的一些增删改查操作,这里就简单写下思路 1.先写...

  • WEB 七

    用JS写一些常用的特效 1.倒计时功能 2.购物车功能的实现 代码比较繁琐 只贴了JS部分 比较重要的几个函数 ...

  • 购物车页面和商品列表页面

    商品列表页面的布局和添加购物车到cookie中的保存实现 购物车页面的布局以及CSs样式 JS实现:购物车的实现上...

  • 微信小程序-template使用:实现购物车商品数量加减功能

    前言 上一篇我们实现了购物车功能,里面有用到template模板功能来实现购物车商品数量加减和价格计算功能,可能篇...

  • Angular学习第四天

    今天我们来做一下电商网站常见的购物车功能 实现功能,购物车相信大家都熟悉 显示商品列表 商品添加进购物车 购物车内...

  • 关于vuex购物车实现的原理

    1、模拟购物车功能 创建store/cart.js export default { state:{ cartl...

  • DOM-层级节点查找例子

    给出这样一个简单地购物车,通过JS实现增减和删除功能,增减的同时,小计部分也跟着变化 下面是HTML部分代码 CS...

  • Vue.js实现简单购物车功能

    浏览器界面 代码如下 style 设置 div 设置 script 设置

  • 购物车模块实现

    1、购物车列表功能实现 点击加入购物车或者点击购物车图标后进入购物车页面,在购物车页面中首先渲染cartList的...

  • 购物车的实现

    购物车是每个商城类的app必备的实现功能,然而购物车模块实现起来并不简单,需要考虑的地方也比较多,当初我实现起来也...

网友评论

      本文标题:初级JS实现购物车功能

      本文链接:https://www.haomeiwen.com/subject/zbutdxtx.html