Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript D3 v4如何在视口外拖动节点时平滑平移_Javascript_D3.js - Fatal编程技术网

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

Javascript D3 v4如何在视口外拖动节点时平滑平移,javascript,d3.js,Javascript,D3.js,我把我在那里发现的一些具有我要寻找的特性的演示中的一些片段进行了组合 我已经看到了很多非常令人印象深刻的演示,它们在平移、拖动和诸如此类的操作时具有非常好的平滑效果。话虽如此,我只是觉得必须有某种方法来创建一个很好的平滑平移,同时将任何特定节点拖动到其内部的任何视图的外部 这是我到目前为止得到的。只需单击任意一个圆并将其拖动到结果视口的外部。当光标位于边缘的20px范围内时,应该会看到平移效果 到目前为止,fiddle工作得还不错,但我对当前脚本有一些问题 演示使用的是D3V3,

我把我在那里发现的一些具有我要寻找的特性的演示中的一些片段进行了组合

我已经看到了很多非常令人印象深刻的演示,它们在平移、拖动和诸如此类的操作时具有非常好的平滑效果。话虽如此,我只是觉得必须有某种方法来创建一个很好的平滑平移,同时将任何特定节点拖动到其内部的任何视图的外部

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

到目前为止,fiddle工作得还不错,但我对当前脚本有一些问题

  • 演示使用的是D3V3,我正在尝试使用DCV4构建我的脚本。很可能我没有利用v4的所有新特性来创建所需的平滑拖动+平移效果

  • 在窗口外拖动时,被拖动的对象不会停留在光标上,除非光标继续移动

  • 在窗口外释放拖动时,或在窗口外拖动对象并再次将其拖回时,视口中会出现明显的跳跃

  • 最后是平滑度。看来事情会更顺利

我认为大多数调整需要在以下函数中完成(可能??)

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

function dragMove(){}
function pan(){}