Web前端开发JavaScript html

编写程序,按照以下要求完成订单总金额计算并输出结果。
(1)定义数组,保存用户每笔订单的所有商品金额,例如[100,200,300]
(2)计算总额,并按照如下活动规则计算应付款。
①满300减30,满200减10,满100 减3。
②老会员折上9.8折。
(3)在页面输出各项商品金额、总额和应付款。


let list = [50,20,130];
            let sum = 0; //总计
            let total = 0; //应付款
            let isOld = true;//是否老顾客
            list.forEach((item,index)=>{
                sum += item;
                console.log(`商品${index+1}:${item}元`)
            })
            if(sum>=300) total = sum - 30;
            else if(sum>=200) total = sum - 10;
            else if(sum>=100) total = sum -3;
            if(isOld) total = total * 0.98;
            console.log(`商品总计: ${sum}元,应付款:${total}元`)

img

如有帮助,望采纳

望采纳!不清楚的可以问。

img

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Lightly-HTML-Project</title>

</head>
 <script>
let prices = [100, 200, 300];
          let sum = 0;
          let total=0;
          let isVip = true;
          let money = 0;
          prices.map((price) => {
            sum = price;
            if (sum >= 300) {
            money = sum - 30;
            } else if (sum >= 200) {
                money = sum - 20;
            } else if (sum >= 100) {
                money = sum - 3;
            }
            if (isVip) {
            total=money*0.98;
            }
            console.log("商品金额:"+price+"总额:"+money+"应付款:"+total)
            document.write("<p>"+"商品金额:"+price+"总额:"+money+"应付款:"+total+"</p>");
          })
          
        
          //在页面输出各项商品金额、总额和应付款
</script>
<body>
    <p>Hello World!</p>
</body>
</html>




<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <ul>
        <table border="1" cellspacing="0" cellpadding="10" align="center">
            <thead align="center">
                <tr>
                    <th colspan="6">商品统计表</th>
                </tr>
            </thead>
            <tbody id="tbody" align="center">
                <tr>
                    <td>-</td>
                    <td>价格</td>
                    <td>满减</td>
                    <td>会员折扣</td>
                    <td>总计</td>
                    <td>操作</td>
                </tr>

            </tbody>
            <tfoot align="center">
                <tr>
                    <td>总计:</td>
                    <td id="total_price">-</td>
                    <td>-</td>
                    <td>-</td>
                    <td id="local_price">0</td>
                    <td><button onclick='shop.total()'>统计</button></td>

                </tr>
            </tfoot>

        </table>
    </ul>
    <script>
        var html = function (index) {
            return `<tr class="price_tr">
                    <td>
                        <input style="width:100%;height:100%;border: none;text-align: center;" maxlength="8" type="text"
                            placeholder="商品">
                    </td>
                    <td>
                        <input class="form_price" oninput='shop.change(${index})'  style="width:100%;height:100%;border: none;text-align: center;" maxlength="8" type="number"
                            placeholder="金额">
                    </td>
                    <td>
                        <input type="radio" class='krake'   >
                        <label >
                            <select class="zk" style="text-align: center;">
                                <option value="30">满300减30</option>
                                <option value="10">满200减10</option>
                                <option value="3">满100 减3</option>
                            </select>

                        </label>

                    </td>
                    <td>
                        <input type="radio" class='kraken' >
                        <label >
                            <select class="vip" style="text-align: center;">
                                <option value="0.98">9.8</option>
                            </select>
                        </label>
                    </td>
                    <td class="local_price">0</td>
                    <td><button onclick='shop.remove(${index})'>删除</button>&nbsp;<button onclick='shop.add()'>增加</button>&nbsp;<button onclick='shop.local_Total(${index})'>统计</button></td>
                </tr>`}
        class Shop {
            constructor(obj) {
                this.tbody = obj.tbody;
                this.tbleList = obj.tbleList;

            }
            // 初始化
            init() {
                this.tbody.innerHTML = this.tbleList.map((item, index) => {
                    return item(index)
                }).join('')
            }
            // 增加
            add() {
                this.tbleList.push(html);
                this.tbody.innerHTML = this.tbleList.map((item, index) => {
                    return item(index)
                }).join('');
            }
            // 删除
            remove(e) {
                this.tbleList.splice(e, 1);
                this.tbody.innerHTML = this.tbleList.map((item, index) => {
                    return item(index)
                }).join('');
                // console.log(e, '=====e')
                //e.parentNode.parentNode.removeChild(e.parentNode) // 删除 父节点 的父节点不好维护

            }
            // 总价总计
            total() {
                let form_price = document.getElementsByClassName('form_price');
                let local_price = document.getElementsByClassName('local_price');
                let total = 0, local_total = 0;
                for (let i = 0; i < form_price.length; i++) {
                    total += form_price[i].value * 1
                    local_total += local_price[i].innerHTML * 1
                }
                document.getElementById('total_price').innerHTML = total
                document.getElementById('local_price').innerHTML = local_total


            }
            // 局部统计
            local_Total(index) {
                // 获取一列的dom
                let form_price = document.getElementsByClassName('price_tr');
                // 获取输入的金额 
                let local_price = form_price[index].getElementsByClassName('form_price')[0].value;
                if (!local_price) {
                    alert('请输入金额')
                    return
                }
                // 获取选择折扣满减数据
                // console.log('local_vip===', local_vip)

                // let zk = form_price[index].getElementsByClassName('zk')[0].value;
                // 获取折扣
                let vip = form_price[index].getElementsByClassName('vip')[0].value;
                // 是否能打折
                // 获取选择折扣
                let local_zk = form_price[index].getElementsByClassName('krake')[0].checked;
                // 获取选择折扣vip
                // console.log('local_zk===', local_zk)
                let local_vip = form_price[index].getElementsByClassName('kraken')[0].checked;

                if (local_zk) {
                    local_price = local_price - form_price[index].getElementsByClassName('zk')[0].value
                }

                if (local_vip) {
                    local_price = (local_price * vip).toFixed(1)
                }
                form_price[index].getElementsByClassName('local_price')[0].innerHTML = local_price;
            }
            change(index) {
                // 获取一列的dom
                let form_price = document.getElementsByClassName('price_tr');
                let local_price = form_price[index].getElementsByClassName('form_price')[0].value;
                if (local_price >= 300) {
                    form_price[index].getElementsByClassName('zk')[0].value = 30
                } else if (local_price >= 200) {
                    form_price[index].getElementsByClassName('zk')[0].value = 10
                } else if (local_price >= 100) {
                    form_price[index].getElementsByClassName('zk')[0].value = 3
                }
            }

        }
        let shop = new Shop({
            tbody: document.getElementById('tbody'),
            tbleList: [html],
        });

        shop.init()
    </script>
</body>

</html>