我正在使用Flot成功绘制我正在使用时间序列的项目的用法。 flot图表从过去24小时开始,允许平移和缩放。
数据每15分钟在服务器上进行一次采样,转换为json,并通过使用AJAX的忙碌轮询通过flot图下载(它会检查更改)。
几个月后,我有太多数据(当然),阵列变得相当大。我想限制从服务器下载的json只包含flot图的可见光谱。限制初始下载很容易,但我不知道如何处理平移和缩放。我已经有事件处理程序绑定到平移和缩放,但是它们会针对每一步移动(特别是平移)。
是否可以检测平移开始和结束的时间?
答案 0 :(得分:0)
[编辑因为我错过了你已经拥有处理程序的事实]
如果你已经捕获了plotpan事件,你可以去掉它。添加一个在平移后触发一定时间(例如500毫秒)的计时器,并在每次触发平移时重置。这样,该动作仅在许多连续事件结束时运行一次。
一个非常简单的例子:
var delay = null;
element.on("plotpan", function() {
if (delay) clearTimeout(delay);
delay = setTimeout(function() {
// do your stuff here
delay = null;
}, 500);
});