无感五 2017-07-17 02:29 采纳率: 50%
浏览 1188
已采纳

如何使用JQ或者JS如何计算超公里数

提问,现在我想计算一个超公里数价格的插件,比如我设定超过10公里之后, 每超出1公里
就为超出公里数,那我如何自动计算出这个超出的一公里呢
下面例子
总路程15公里,现超出5公里
总路程8公里 (这是没超出公里数的情况)
总路程500米 (这是没超出公里数的情况)

这个问题写了几天 都没好方法实现 ,请问这个应该怎么实现

  • 写回答

2条回答 默认 最新

  • Go 旅城通票 2017-07-17 03:11
    关注
    
    <script type="text/javascript" src="https://cdn.bootcss.com/jquery/1.7.1/jquery.min.js"></script>
    <div id="g1">max=10公里<br />
        <input type="text" class="dist" value="15公里" /><br />
        <input type="text" class="dist" value="8公里" /><br />
        <input type="text" class="dist" value="500米" /><br />
    </div>
    <div id="g2">max=800米<br />
        <input type="text" class="dist" value="15公里" /><br />
        <input type="text" class="dist" value="2000米" /><br />
        <input type="text" class="dist" value="500米" /><br />
    </div>
    <script>
        $.fn.getDist = function (max) {
            var km,re=/^(\d+)(公里|米)$/;
            if (!(km = re.exec(max))) { alert('max参数错误,格式为为“10公里或者10000米”'); throw 'max参数错误,格式为为“10公里或者10000米”' }
            if (km[2] == '米') km = parseFloat(km[1] / 1000);//传入的为米转为公里单位
            else km = parseFloat(km[1]);
            function getExceed() {
                var m = re.exec(this.value);
                if (m) {//符合“数字公里/米”格式执行计算
                    if (m[2] == '米') m = parseFloat(m[1] / 1000);//传入的为米转为公里单位
                    else m = parseFloat(m[1]);console.log(m,km)
                    var span = $(this).next('span');
                    if (span.length == 0) $(this).after(span = $('<span></span>'));
                    span.html(m > km ? '<span>现超出' + (m - km) + '公里</span>' : '');
                }
            }
            return this.each(getExceed).change(getExceed);
        }
        $('#g1 input.dist').getDist('10公里');
        $('#g2 input.dist').getDist('800米');
    </script>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮