zoukankan      html  css  js  c++  java
  • jq购物车结算功能

    css

        *{font-style: normal}
        .gw{margin: 8px;}
        .gw::after{display: block;clear: both;content: '';margin: 10px;}
        .gw_num{border: 1px solid #dbdbdb; 110px;line-height: 26px;overflow: hidden;float: left;}
        .gw_num em{display: block;height: 26px; 26px;float: left;color: #7A7979;border-right: 1px solid #dbdbdb;text-align: center;cursor: pointer;font-style: normal}
        .gw_num .num{display: block;float: left;text-align: center; 52px;font-style: normal;font-size: 14px;line-height: 24px;border: 0;}
        .gw_num em.add{float: right;border-right: 0;border-left: 1px solid #dbdbdb;}
        p{margin: 4px;padding: 0}
        .choose,.qx{float: left; 20px;height: 20px;border: 1px solid #ccc; border-radius: 100%;margin-right: 10px;}
        .choose-on, .qx-on{background: url(./on.png) no-repeat center center;background-size: 100%;}
        <div class="zong">
            <div class="gw">
                <div class="choose"></div>
                <div class="gw_num">
                    <em class="jian">-</em>
                    <input type="text" value="0" class="num"/>
                    <em class="add">+</em>
                </div>
                <p>单价<i>20</i>元 总金额:¥<span>0</span></p>
                <div class="del">删除</div>
            </div>
            <div class="gw">
                <div class="choose"></div>
                <div class="gw_num">
                    <em class="jian">-</em>
                    <input type="text" value="0" class="num"/>
                    <em class="add">+</em>
                </div>
                <p>单价<i>40</i>元 总金额:¥<span>0</span></p>
                <div class="del">删除</div>
            </div>
            <div class="gw">
                <div class="choose"></div>
                <div class="gw_num">
                    <em class="jian">-</em>
                    <input type="text" value="0" class="num"/>
                    <em class="add">+</em>
                </div>
                <p>单价<i>40</i>元 总金额:¥<span>0</span></p>
                <div class="del">删除</div>
            </div>
            <div class="gw">
                <div class="choose"></div>
                <div class="gw_num">
                    <em class="jian">-</em>
                    <input type="text" value="0" class="num"/>
                    <em class="add">+</em>
                </div>
                <p>单价<i>40</i>元 总金额:¥<span>0</span></p>
                <div class="del">删除</div>
            </div>
            <div>
                <div class="qx"></div>
                <span>全选</span><span class="gs"></span>
                <p class="a">金额总计:<span>0</span></p>
            </div>
        </div>

    js

        $(function(){
                $('.add').click(function(){
                    var n = $(this).prev().val()
                    var num = parseInt(n) + 1;
                    if(n ==  5){num = 5}  //设置最大数量 5
                    $(this).prev().val(num);
                    var money = $(this).parents('.gw').find('i').text()
                    var sum = money * num
                    var p = $(this).parents('.gw').find('span').text(sum)
                    // console.log(p)
                    
                    // var Sum = $(this).parents('.zong').find('.a > span').text(sum)
                    // console.log(Sum)
                    jiesuan()
                })
                $('.jian').click(function(){
                    var n = $(this).next().val();
                    var num = parseInt(n) - 1;
                    if(n ==  0){num = 0}  //设置最小数量 0
                    console.log(num)
                    $(this).next().val(num);
                    var money = $(this).parents('.gw').find('i').text()
                    var sum = money * num
                    var p = $(this).parents('.gw').find('span').text(sum)
                    jiesuan()
                })
                //选中
                $('.choose').click(function(){
                    $(this).toggleClass('choose-on')
                    // console.log('aa')
                    jiesuan()
                    xz()
                    qx()
                })
                //全选
                $('.qx').click(function(){
                    $(this).toggleClass('qx-on')
                    if($(this).is('.qx-on')){
                        $('.choose').addClass('choose-on')
                    }else{
                        $('.choose').removeClass('choose-on')
                    }
                    jiesuan()
                    qx()
                })
                
                //删除
                $('.del').click(function(){
                    if(confirm('确定删除商品')){
                        $(this).parents('.gw').remove()
                    }
                    jiesuan()
                    qx()
                    // console.log(a)
                    
                })
            })
    
            function jiesuan(){
                var num = 0;
                // alert('aa')
                $('.gw').each(function(){
                    if($(this).find('.choose').is('.choose-on')){
                        //获取物品单价 
                        var dj = $(this).find('i').text()
                        //获取物品数量
                        var sl = $(this).find('.num').val()
                        //合计
                        var hj = dj * sl 
                        num += hj;
                    }
                    
                })
                $('.a>span').text(num)
            }
            
            
            //单选--全选中
            function xz(){
                var choose = $('.choose')
                var choose_on = $('.choose-on')
                if(choose.length == choose_on.length){
                    $('.qx').addClass('qx-on')
                }else{
                    $('.qx').removeClass('qx-on')
                }
            }
    
            //全选
            function qx(){
                $('.gs').text(' ')
                var a = $('.choose-on').length;
                $('.gs').text(a)
                if(a > 0){
                    $('.gs').prev().text('已选')
                }else{
                    $('.gs').prev().text('全选')
                }
            }

  • 相关阅读:
    如何查找.NET程序内存不断上涨的原因(CLRProfiler)
    IOS编程浅蓝教程(一)先决条件:开始iOS编程的必要准备
    三十而立,从零开始学ios开发:Hello World!
    【原】使用Cocos2d制作一个类似于魔塔的iPhone游戏第一部分(上)
    用python实现一个socket echo程序 && tcp socket的几个关闭状态
    IOS编程浅蓝教程(二) HelloWrld! 建立你的第一个iPhone应用程序
    如何直接强制客户端刷新.js文件
    (WCF的实现、控制台托管与.net平台的调用)
    关于批量数据更新的问题(C#高性能)
    不容错过的window8 metro UI风格的web资源
  • 原文地址:https://www.cnblogs.com/chz1905/p/11082878.html
Copyright © 2011-2022 走看看