D3 v4如何在视口外拖动节点时平滑平移

时间:2017-03-02 01:25:34

标签: javascript d3.js

我有点结合我在那里发现的几个演示中的点点滴滴,它们具有我正在寻找的功能。

我看过很多非常令人印象深刻的演示,在平移,拖动等等时有非常漂亮和流畅的效果。话虽这么说,我只是认为必须有一些方法来创建一个漂亮的平滑平移,同时将任何特定节点拖动到它内部的任何视图的外部。

这是我到目前为止所得到的。只需单击其中一个圆圈并将其拖动到结果视口外部即可。当光标位于边缘的20px范围内时,您应该看到平移效果。

到目前为止,这个小提琴工作正常,但是我对当前剧本有一些问题。

  • 演示正在使用D3 v3,我正在尝试使用DC v4构建我的脚本。我很可能没有利用v4的所有漂亮的新功能来创建漂亮的平滑拖动+平移所需的效果。

  • 在窗口外拖动时,除非光标一直移动,否则被拖动的对象不会与光标保持一致。

  • 在窗口外释放一个拖动,或者在窗口外拖动对象并再次返回时,视口中会有明显的跳跃。

  • 最后只是顺畅。看起来事情可能更顺畅。

我认为大多数调整都需要在以下函数中完成(也许??)。

x = [3,5,4,1,6,8,10,2,9,7]

sorted(sorted(x), key=lambda x: (x+1)%2)
# returns:
# [1, 3, 5, 7, 9, 2, 4, 6, 8, 10]

不确定是否可以修复任何或所有这些,但我希望得到一些评论或建议,我可以尝试将此脚本调整为更好的形状。谢谢!

0 个答案:

没有答案