0

我正在成功地使用 Flot 来绘制我正在处理的时间序列项目的使用情况。浮动图从过去 24 小时开始,并允许平移和缩放。

数据每 15 分钟在服务器上采样一次,转换为 json,并通过 AJAX 的忙轮询由浮点图下载(它检查更改)。

几个月后,我有这么多数据(当然),数组变得相当大。我想限制从服务器下载的 json 只包含浮点图的可见光谱。限制初始下载很容易,但我不知道如何处理平移和缩放。我已经有绑定到平移和缩放的事件处理程序,但它们会在每次移动时触发(尤其是平移)。

是否可以检测平移开始和结束的时间?

4

1 回答 1

0

[编辑因为我错过了你已经绑定了处理程序的事实]

如果您已经在捕获 plotpan 事件,则可以对其进行反跳。添加一个计时器,该计时器在平移后触发一定时间(例如 500 毫秒),并在每次 plotpan 触发时重置。这样,动作只在许多连续事件结束时运行一次。

一个非常简单的例子:

var delay = null;
element.on("plotpan", function() {
    if (delay) clearTimeout(delay);
    delay = setTimeout(function() {
        // do your stuff here
        delay = null;
    }, 500);
});
于 2012-08-24T17:57:04.507 回答