检测浏览器窗口外的svg元素

时间:2017-08-16 14:45:13

标签: javascript d3.js svg

我正在使用d3.js编写思维导图。当节点包含许多子节点时,其中一些节点在浏览器窗口中不可见。我支持使用上/下/左/右键在节点中导航。

问题是:当我导航到不可见的节点(浏览器窗口之外)时,浏览器不会自动滚动显示该节点。如何滚动窗口以显示适当的节点?我正在寻找与浏览器无关的方法

1 个答案:

答案 0 :(得分:0)

很抱歉很长时间没有回复。我最终使用了getBoundingClientRect()。对于每个节点,我调用此函数,如果:

  1. top< 0或
  2. 左< 0或
  3. bottom> window.innerHeight
  4. 对> window.innerWidth
  5. 我在我的根节点上调用translate来移动树。