无需挂起UI即可访问DOM元素ASYNC

时间:2015-02-26 09:24:20

标签: javascript c# jquery asp.net

我有一个长网页,网格中有500多行。它可能更多。列[数量],[单价]和[总总数]相互连接。就像我添加数量3并添加价格33然后它将3乘以33并将结果添加到总价格中。

当我有限制的行(如100或200)时,一切正常。当没有行增长时会出现问题。例如300 +行,然后浏览器会在10到20秒内响应一段时间。

enter image description here

我在后台做的是用JavaScript计算。我有一个简单的方法,它将在每行的文本框中运行焦点并计算它的价格并将其置于总总计字段中,然后调用另一种方法,通过获取所有行的总总数值来计算总计(如果行然后它将是300然后逐个去除所有300行)然后在Grand Total中增加价值。

我认为我计算的方式是问题,它暂时阻碍了浏览器的UI。有没有什么办法解决这一问题?像异步?或者在没有挂起UI的情况下选择DOM元素异步? BTY使用jQuery来获取和更新文本框中的值。

1 个答案:

答案 0 :(得分:1)

很久以前我做了一件非常相似的事情。

答案就像不重新计算整个网格一样简单。您只需跟踪增量即可。因此,如果输入值为10的文本框时总计为100,并且它更改为20,那么您知道grandtotal的新值为110而无需重新计算所有内容100 +(20 - 10)

grandTotal + =(onExitValue - onEnterValue)