我正在用 Jquery mobile 构建一个计算器。
有些东西是通过滑块值或 html 值计算出来的,如下所示:
function refresh(){
$("#leistung").html(($('#slider-vertical2').val()*1.2/3600*$('#slider-vertical3').val()).toFixed(0));
$("#nutzenergie").html(toLocalFormat($('#slider-vertical').val()*$("#leistung").html()));
$("#kostenersparnis").html(toLocalFormat($('#slider-vertical2').val()*1.2/3600*$('#slider-vertical3').val()*$('#slider-vertical').val()*0.9*1.1*$('#slider-vertical4').val()/100/0.9));
$("#co2emission").html(toLocalFormat($("#leistung").html()*$('#slider-vertical').val()*0.00055/0.9, true));
$("#amortisationszeit").html(toLocalFormat($('#slider-vertical5').val()/$('#kostenersparnis').html()/1000,true));
}
现在我需要经常更新这些值。
我第一次使用
$(document).on("vmousemove taphold tap swipe")
但不幸的是,这不包括点击计算器中的 +/- 按钮。我可能可以为按下鼠标按钮的事件设置一个间隔,但我选择了这样的简单方法:
setInterval(function(){refresh();},10);
它可以满足我的要求并且在这个 CPU 上运行良好,但我不确定它是否会在速度较慢的(触摸)设备上产生问题。因为它每 10 毫秒触发一次计算。
可能有更好的方法来做我想做的事情。