• 原生JS计算商品价格


    通常购物网站中会有一些价格计算,合计或者小计,今天写一个简单的计算商品价格的小例子:

    先来看看布局:

    <body>
       <ul id="lists">
           <li>
               <input type="button" value="-">
               <b>0</b>
               <input type="button" value="+">
               单价:<em>10.5元</em>
               小计:<span>0元</span>
           </li>
           <li>
               <input type="button" value="-">
               <b>0</b>
               <input type="button" value="+">
               单价:<em>12.5元</em>
               小计:<span>0元</span>
           </li>
           <li>
               <input type="button" value="-">
               <b>0</b>
               <input type="button" value="+">
               单价:<em>12.5元</em>
               小计:<span>0元</span>
           </li>
           <li>
               <input type="button" value="-">
               <b>0</b>
               <input type="button" value="+">
               单价:<em>32.0元</em>
               小计:<span>0元</span>
           </li>
       </ul>
    </body>

    效果图如下:

    看看js代码:

    <script>
        window.onload=function(){
            var oUl=document.getElementById("lists");
            var aLi=oUl.getElementsByTagName("li");
            for(var i=0;i<aLi.length;i++){
                fn(aLi[i]);
            }
    
            function fn(aLi){
                var aBtn=aLi.getElementsByTagName("input");
                var oEm=aLi.getElementsByTagName("em")[0];
                var oSpan=aLi.getElementsByTagName("span")[0];
                var oBtxt=aLi.getElementsByTagName("b")[0];
                var num1=Number(oBtxt.innerHTML);
                var num2=parseFloat(oEm.innerHTML);
                aBtn[0].onclick=function(){
                    num1--;
                    if(num1<0){ //z这里判断若为0,不能再减
                        num1=0
                    }
                    oBtxt.innerHTML = num1;
                    oSpan.innerHTML=num1*num2+"元"
                };
                aBtn[1].onclick=function(){
                    num1++;
                    oBtxt.innerHTML = num1;
                    oSpan.innerHTML=num1*num2+"元"
                }
            }
    
    
        }
    
    </script>

    因为li不止一个,那么需要先实现出一个的效果,然后通过传参,来解决多个的计算!

    好了,今天就到这里,明天继续!

  • 相关阅读:
    Office 文档新漏洞,黑客可劫持系统
    Serv-U服务器漏洞,黑客可远程执行程序
    东方联盟提出基于机器学习的蓝牙认证方案
    AC 自动机套路总结
    AC 自动机
    二次扫描与换根法
    虚实链剖分(LCT)
    关于加密和加签的说明
    python3 RSA的加解密和签名/验签 简单实现 --Crypto
    Java协变、逆变、类型擦除
  • 原文地址:https://www.cnblogs.com/web001/p/7989458.html
Copyright © 2020-2023  润新知