我已经使用 d3.js 实现了强制布局。然而,布局会根据 UI 中的用户选择而改变,这会向服务器发出新的调用并获取新数据并再次绘制强制布局。在那之前,用户必须等待。有没有一种方法可以在图表加载之前向用户显示等待消息。此布局也是 extjs 组件的一部分,因此等待消息只需要应用于该特定组件。我会使用 Ext js 等待消息,但我没有事件来收听隐藏和显示等待消息,因为图形渲染独立于 ext js。我研究了很多,在 d3.js 中找不到任何这样的功能。但是应该有一些我无法弄清楚的解决方法。
问问题
357 次
1 回答
1
尽管 D3 没有为此提供任何明确的功能,但这样做相对简单。当用户做出选择并且您发送更多数据的异步请求时,启用“等待”对话框。然后,在处理接收到的数据的函数中,禁用它。而已。在代码中,它看起来像这样。
userSelector.on("click", function() {
enableWaitDialog();
d3.json("newjson.json", function(error, data) {
// do something with the new JSON
disableWaitDialog();
});
});
于 2013-09-14T09:33:04.490 回答