• js函数传参


    重用代码:

    1.尽量保证HTML代码结构一致,可以通过父级选取子元素

    2.把核心主程序实现,用函数包起来

    3.把每组里不同的值找出来,通过传参实现

    实例(计算商品总价)

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <script>
            window.onload = function () {
                var list = document.getElementById("list");
                var lis = list.getElementsByTagName("li");
                var spans = list.getElementsByTagName("span");
                var ems = list.getElementsByTagName("em");
                var strongs = list.getElementsByTagName("strong");
                var num = document.getElementById("num");
                var price = document.getElementById("price");
                var max = document.getElementById("max");
                //  f1(lis[0]);
                //  f1(lis[1]);
                //  f1(lis[2]);
                for (var i = 0; i < lis.length; i++) {
                    f1(i);
                }
                function f2() {
                    var a = 0;
                    var b = 0;
                    var c = 0;
                    for (var i = 0; i < strongs.length; i++) {
                        a += parseFloat(strongs[i].innerHTML);
                        b += parseFloat(spans[i].innerHTML);
                        // 当strong的值不是0时,才去比较em的大小
                        if (strongs[i].innerHTML!=0) {
                            if (parseFloat(ems[i].innerHTML) > c) {
                                c =parseFloat(ems[i].innerHTML);
                            }
                        }
                    }
                    max.innerHTML=c;
                    num.innerHTML = a;
                    price.innerHTML = b;
                   
    
                }
                function f1(d) {
                    var li_inps = lis[d].getElementsByTagName("input");
                    var li_strong = lis[d].getElementsByTagName("strong")[0];
                    var li_em = lis[d].getElementsByTagName("em")[0];
                    var li_span =lis[d].getElementsByTagName("span")[0];
                    var n1 = 0;
                    li_inps[0].onclick = function () {
                        n1--;
                        if (n1 < 0) {
                            n1 = 0;
                        }
                        li_strong.innerHTML = n1;
                        li_span.innerHTML = n1 * (parseFloat(li_em.innerHTML)) + "元";
                        f2();
                    }
                    li_inps[1].onclick = function () {
                        n1++;
                        li_strong.innerHTML = n1;
                        li_span.innerHTML = n1 * (parseFloat(li_em.innerHTML)) + "元";
                        f2();
                    }
    
                }
            }
        </script>
    </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>8元</em> 小计:
                <span>0元</span>
            </li>
            <li>
                <input type="button" value="-">
                <strong>0</strong>
                <input type="button" value="+"> 单价:
                <em>20.5元</em> 小计:
                <span>0元</span>
            </li>
        </ul>
        <p>总:<span id="num">0</span>件<br>总计:<span id="price">0</span>元<br> 其中最贵的商品单价是:
            <span id="max">0</span>元
        </p>
    </body>
    
    </html>
    
    
  • 相关阅读:
    C#笔记(Hex转JPG)
    rpm 和 yum 软件管理
    名称空间和作用域
    网络技术管理和进程管理
    RAID磁盘阵列
    CentOS7系统启动流程:
    磁盘lvm管理
    面向对象 异常处理
    自定义函数和调用函数 return返回值
    Python常用模块
  • 原文地址:https://www.cnblogs.com/zhuuuu/p/7581888.html
Copyright © 2020-2023  润新知