假设我想在我正在开发的图表中添加工具提示,我可以使用常规html元素,例如div
,或者我可以在g
内部使用svg
元素。
我想知道使用div工具提示之间的主要区别是什么:
var tooltip = d3.select('body')
.append('div')
.style('position', 'absolute')
.style('display', 'none');
然后移动它并使用
进行修改selection.on('someEvent', () => {
tooltip
.style('display', null)
.style('top', mouseY + 'px')
.style('left', mouseX + 'px')
... /* do what needs to be done */
});
或选择g元素:
var tooltip = d3.select('svg')
.append('g')
.style('display', 'none');
然后使用transform属性
在需要的地方进行翻译selection.on('someEvent', () => {
tooltip
.attr('transform', 'translate(' + mouseX + ',' + mouseY + ')')
.style('display', null)
... /* do what needs to be done */
});
个人我更喜欢g元素因为看起来不像黑客,但是在管理工具提示中实际上可能有点笨拙。
所以我真的很困惑这些家伙,有什么帮助吗?
答案 0 :(得分:2)
优点
<强>缺点强>
优点
<强>缺点强>