• js实现求平均数功能


         今天在项目中遇到了一个求平均值的需求,大致需求就是,页面上面有四个input框,失去焦点就计算平均值,结果保留两位小数,并输出在页面上。不多说了,直接奉上代码,如有更好思路或者想法,都欢迎大家和我讨论。代码如下:

    html:

    <div id="par">
        <input id="test1" class="err" type="text" placeholder="测试信息" value="" />
        <input id="test2" class="err" type="text" placeholder="测试信息" value="" />
        <input id="test3" class="err" type="text" placeholder="测试信息" value="" />
        <input id="test4" class="err" type="text" placeholder="测试信息" value="" />
        <div id="test5"></div>
    </div>

    js:

    function handler(arr,avgId){
        var l = arr.length,num = 0,sum=0;
        for(var i=0;i<l;i++){
            sum += getValue(arr[i]);
        }
        function getValue(id){
            var t = typeof id == "object"?id:$("#"+id),val = t.val();
            if(!isNaN(val)&&val!=""){
                num+=1;
                val = Number(val);
            }else{val=0;t.val("")};
            return val;
        }
        avgId = typeof avgId =="object"?avgId:$("#"+avgId);
        num == 0 ? avgId.text("") : avgId.text((sum/num).toFixed(2));
    }

    var myArr = ["test1","test2","test3","test4"];
    $("#par").on("change",".err",function(){
        handler(myArr,$("#test5"));
    })

    /**

    *注意:代码依赖jQuery,使用前,请先引入

    */

     转载请注明出处:http://www.cnblogs.com/callmesummer/p/3940222.html

    拿出手机扫一扫,希望大家能支持一下:

  • 相关阅读:
    js 实现继承的6种方式(逐渐优化)
    http2.0 特性
    http 206请求
    http put post请求区别
    stopPropagation 和stopImmediatePropagation区别
    JavaScript事件流
    BFC特性 形成BFC
    元素高度、宽度获取 style currentStyle getComputedStyle getBoundingClientRect
    三栏布局解决方案
    jquery vue 框架区别
  • 原文地址:https://www.cnblogs.com/callmesummer/p/3940222.html
Copyright © 2020-2023  润新知