我在代码和用户体验方面有疑问,我有JS:
$(document).on( "click", "input:radio,input:checkbox", function() {
getContent($(this).parent(),0);
});
上面的JS从无线电和复选框中获取内容,并刷新页面以显示依赖关系。例如,如果我检查是,并且依赖关系是,显示文本框,则上述工作!
我想知道的是,如果有更好的方法来做同样的事情,但是以更友好的方式,因为这有时会使页面变慢。特别是如果我一次性做很多刻度/检查,我会想念一些,因为父母会刷新!
答案 0 :(得分:1)
如果您必须将服务器命中到getContent()
,那么它将自动变慢。
但是,如果您每次发送所有元素而不是每次更改时都点击服务器,则可以节省很多。
然而,如果创建一个超大页面不是一个选项,那么你需要保留你的getContent()
函数,但是有一个可能的解决方案,如果你还没有实现这个,那就是缓存所有您之前查询过的数据。
因此,您可以拥有一个对象(地图),其中包含定义您感兴趣的数据的键。如果定义了该键,则数据已经可用并且您将返回并直接从缓存中使用该数据。否则,您必须点击服务器。
要做的一件事,你提到了慢,因为你打勾'来回的事情是,不要一次向服务器发送多个请求(如果服务器从不回复,则超时)。所以这里的过程是:
请求进程应该在一个计时器上运行,因为(1)它可以超时,(2)它需要在后台运行(不是GUI抢占)