首页前端开发JavaScriptJavaScript怎么实现购物车结算

JavaScript怎么实现购物车结算

时间2024-01-30 00:02:02发布访客分类JavaScript浏览1006
导读:收集整理的这篇文章主要介绍了JavaScript怎么实现购物车结算,觉得挺不错的,现在分享给大家,也给大家做个参考。JavaScript实现购物车结算的方法:1、在页面加载后执行function;2、获取元素;3、设置加减按钮;4、另存下标...
收集整理的这篇文章主要介绍了JavaScript怎么实现购物车结算,觉得挺不错的,现在分享给大家,也给大家做个参考。

JavaScript实现购物车结算的方法:1、在页面加载后执行function;2、获取元素;3、设置加减按钮;4、另存下标;5、设置加减号的点击事件;6、创建复选框的状态改变事件。

本文操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

JavaScript怎么实现购物车结算?

HTML代码:

div id="container">
        ul>
            li>
                input tyPE="checkbox" name="liCheck" id="" value="">
                button type="button" class="decrease" disabled="disabled">
    -/button>
                p>
                    span class="piece">
    0/span>
    件            /p>
                button type="button" class="increase">
    +/button>
                p>
                    span class="PRice">
    10/span>
    元            /p>
                p>
                    小计:                input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled">
                /p>
            /li>
            li>
                input type="checkbox" name="liCheck" id="" value="">
                button type="button" class="decrease" disabled="disabled">
    -/button>
                p>
                    span class="piece">
    0/span>
    件            /p>
                button type="button" class="increase">
    +/button>
                p>
                    span class="price">
    20/span>
    元            /p>
                p>
                    小计:                input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled">
                /p>
            /li>
            li>
                input type="checkbox" name="liCheck" id="" value="">
                button type="button" class="decrease" disabled="disabled">
    -/button>
                p>
                    span class="piece">
    0/span>
    件            /p>
                button type="button" class="increase">
    +/button>
                p>
                    span class="price">
    30/span>
    元            /p>
                p>
                    小计:                input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled">
                /p>
            /li>
            li>
                input type="checkbox" name="liCheck" id="" value="">
                button type="button" class="decrease" disabled="disabled">
    -/button>
                p>
                    span class="piece">
    0/span>
    件            /p>
                button type="button" class="increase">
    +/button>
                p>
                    span class="price">
    40/span>
    元            /p>
                p>
                    小计:                input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled">
                /p>
            /li>
            li>
                input type="checkbox" name="liCheck" id="" value="">
                button type="button" class="decrease" disabled="disabled">
    -/button>
                p>
                    span class="piece">
    0/span>
    件            /p>
                button type="button" class="increase">
    +/button>
                p>
                    span class="price">
    50/span>
    元            /p>
                p>
                    小计:                input class="smallPrice" type="text" name="" id="" value="0" disabled="disabled">
                /p>
            /li>
        /ul>
        div class="sum">
            label>
    input type="checkbox" name="" id="checkAll" value="">
    全选/label>
            p>
                商品总计:            span id="totalCount">
    0/span>
            /p>
            p>
                商品总价:            span id="totalPrice">
    0/span>
            /p>
        /div>
    /div>
CSS代码:html,body,ul,p {
    margin:0;
    padding:0;
}
ul,li {
    list-style:none;
}
ul {
    width:450px;
}
li {
    display:flex;
    justify-content:space-around;
}
.sum {
    width:450px;
    display:flex;
    justify-content:space-around;
}
#container {
    width:450px;
    margin:100px auto;
}
    

JS代码:

// 1.页面加载后执行window.onload = function() {
        // 2.获取元素    VAR liCheck = document.getElementsByName("liCheck");
     //li里面的复选框    var decrease = document.getElementsByclassname("decrease");
     //减号    var piece = document.getElementsByClassName("piece");
     //件数    var increase = document.getElementsByClassName("increase");
     //加号    var price = document.getElementsByClassName("price");
     //单价    var smallPrice = document.getElementsByClassName("smallPrice");
     //小计    var checkAll = document.getElementById("checkAll");
     //全选复选框    var totalCount = document.getElementById("totalCount");
     //总计    var totalPrice = document.getElementById("totalPrice");
     //总价    // 3.加减按钮    for (var i = 0;
     i  decrease.length;
 i++) {
            // 4.另存下标        decrease[i].index = i;
            increase[i].index = i;
            liCheck[i].index = i;
        // 5.减号的点击事件        decrease[i].onclick = function() {
            // 5-1.判断件数是否大于0            if (piece[this.index].innerHTML = 1) {
                    this.disabled = true;
 //当件数小于等于0时, 将减号按钮禁用            }
                // 5-1-1.当前件数-1            piece[this.index].innerHTML--;
                // 5-1-2.计算小计            smallPrice[this.index].value = Number(smallPrice[this.index].value) - Number(price[this.index].innerHTML);
            // 6-4.如果当前条目是被选中状态, 则需要将该商品计入总计和总价            if (liCheck[this.index].checked) {
     //选中                totalCount.innerHTML--;
                    totalPrice.innerHTML = Number(totalPrice.innerHTML) - Number(price[this.index].innerHTML);
            }
        }
        // 6.加号的点击事件        increase[i].onclick = function() {
                // 6-1.将对应的减号解禁            decrease[this.index].disabled = false;
                // 6-2.当前件数+1            piece[this.index].innerHTML++;
                // 6-3.计算小计            smallPrice[this.index].value = Number(smallPrice[this.index].value) + Number(price[this.index].innerHTML);
            // 6-4.如果当前条目是被选中状态, 则需要将该商品计入总计和总价            if (liCheck[this.index].checked) {
     //选中                totalCount.innerHTML++;
                    totalPrice.innerHTML = Number(totalPrice.innerHTML) + Number(price[this.index].innerHTML);
            }
        }
            // 7.复选框的状态改变事件        var count = 0;
 //存储选中个数        liCheck[i].onchange = function() {
            // 7-1.判断是否选中            if (this.checked) {
     //选中状态                count++;
                    totalCount.innerHTML = Number(totalCount.innerHTML) + Number(piece[this.index].innerHTML);
     //总计加当前件数                totalPrice.innerHTML = Number(totalPrice.innerHTML) + Number(smallPrice[this.index].value);
 //总计加当前件数                // 7-1-1. 判断选中个数是否与复选框个数一致            }
 else {
     //取消选中状态                count--;
                    totalCount.innerHTML = Number(totalCount.innerHTML) - Number(piece[this.index].innerHTML);
     //总计加当前件数                totalPrice.innerHTML = Number(totalPrice.innerHTML) - Number(smallPrice[this.index].value);
 //总计加当前件数            }
                count == liCheck.length ? checkAll.checked = true : checkAll.checked = false;
        }
    }
    // 8.全选复选框    checkAll.onchange = function() {
            totalCount.innerHTML = 0;
     //总计置为0        totalPrice.innerHTML = 0;
     //总价置为0        for (var j = 0;
     j  liCheck.length;
 j++) {
                // 8-1. 将li里面的复选框与全选状态保持一致            liCheck[j].checked = this.checked;
            // 8-2. 判断是否全选            if (this.checked) {
                    count = liCheck.length;
                    totalCount.innerHTML = Number(totalCount.innerHTML) + Number(piece[j].innerHTML);
                    totalPrice.innerHTML = Number(totalPrice.innerHTML) + Number(smallPrice[j].value);
            }
 else {
                    count = 0;
            }
        }
    }
}
    

推荐学习:《javascript高级教程》

以上就是JavaScript怎么实现购物车结算的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: 聊聊TypeScript中Enum(枚举)的...下一篇:JavaScript如何制作下拉菜单猜你在找的JavaScript相关文章 html font标签如何设置字体大小?html font标签属性用法介绍2022-05-16vue3+TypeScript+vue-router的使用方法2022-04-16vue3获取当前路由地址2022-04-16如何利用React实现图片识别App2022-04-16JavaScript展开运算符和剩余运算符的区别详解2022-04-16微信小程序中使用vant框架的具体步骤2022-04-16Vue elementUI表单嵌套表格并对每行进行校验详解2022-04-16如何利用Typescript封装本地存储2022-04-16微信小程序中wxs文件的一些妙用分享2022-04-16JavaScript的Set数据结构详解2022-04-16 其他相关热搜词更多phpjavapython程序员loadpost-format-gallery

若转载请注明出处: JavaScript怎么实现购物车结算
本文地址: https://pptw.com/jishu/591774.html
javascript怎么实现二维码 javascript怎么增加样式

游客 回复需填写必要信息