web前端 -- js购物车计算例子

代码如下 

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>js购物?计算商品价格例子</title>
    </head>
    <body>
        <ul id="list">
            <li>
                <input type="button" value="-" />
                <strong>0</strong>
                <input type="button" value="+" />
                单价:<em>12.5元</em>
                小计:<span>0元</span>
            </li>
            <li>
                <input type="button" value="-" />
                <strong>0</strong>
                <input type="button" value="+" />
                单价:<em>10.5元</em>
                小计:<span>0元</span>
            </li>
            <li>
                <input type="button" value="-" />
                <strong>0</strong>
                <input type="button" value="+" />
                单价:<em>8.5元</em>
                小计:<span>0元</span>
            </li>
            <li>
                <input type="button" value="-" />
                <strong>0</strong>
                <input type="button" value="+" />
                单价:<em>8元</em>
                小计:<span>0元</span>
            </li>
            <li>
                <input type="button" value="-" />
                <strong>0</strong>
                <input type="button" value="+" />
                单价:<em>14.5元</em>
                小计:<span>0元</span>
            </li>
        </ul>

        <p>
            商品合计共:<span>0</span>件,共花费了:<span>0</span>元<br />
            所购商品中最贵的商品单价是:<span>0</span>元
        </p>
        <script>
            var aLi = document.getElementsByTagName("li");
            var aStrong = document.getElementsByTagName("strong");
            var aEm = document.getElementsByTagName("em");
            var oP = document.getElementsByTagName("p")[0];
            var aSpan = oP.getElementsByTagName("span");
            var number = 0;
            var price = 0;
            for (var i = 0; i < aLi.length; i++) {
                Price(aLi[i]);
            }

            function Price(obj) {
                var aIn = obj.getElementsByTagName("input");
                var oStrong = obj.getElementsByTagName("strong")[0];
                var oEm = obj.getElementsByTagName("em")[0];
                var oSpan = obj.getElementsByTagName("span")[0];
                aIn[0].onclick = function() {
                    if (oStrong.innerHTML > 0) {
                        number--;
                        oStrong.innerHTML--;
                        price -= parseFloat(oEm.innerHTML);
                        oSpan.innerHTML = parseFloat(oEm.innerHTML) * oStrong.innerHTML + "元";
                        aSpan[0].innerHTML = number;
                        aSpan[1].innerHTML = price;
                        aSpan[2].innerHTML = getMax();
                    }
                }
                aIn[1].onclick = function() {
                    number++;
                    oStrong.innerHTML++;
                    price += parseFloat(oEm.innerHTML);
                    oSpan.innerHTML = parseFloat(oEm.innerHTML) * oStrong.innerHTML + "元";
                    aSpan[0].innerHTML = number;
                    aSpan[1].innerHTML = price;
                    aSpan[2].innerHTML = getMax();
                }
            }

            function getMax() {
                var arr = [];
                for (var i = 0; i < aStrong.length; i++) {
                    if (aStrong[i].innerHTML != 0) {
                        arr.push(parseFloat(aEm[i].innerHTML));
                    }
                }
                return aStrong == 0 ? 0 : arr.sort(function(a, b) {
                    return b - a
                })[0];
            }
        </script>
    </body>
</html>

发布了105 篇原创文章 · 获赞 17 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_44944193/article/details/97158236