D3.js 获取元素的宽度
我有一个演示 我有一个带有鼠标盖的堆叠面积图,上面显示了一个工具提示,其中包含该面积图的数据 我希望工具提示位于鼠标所在区域(高亮显示的矩形)顶部的中心 要使其居中,我需要工具提示的宽度 我正试着和你一起做这件事D3.js 获取元素的宽度,d3.js,D3.js,我有一个演示 我有一个带有鼠标盖的堆叠面积图,上面显示了一个工具提示,其中包含该面积图的数据 我希望工具提示位于鼠标所在区域(高亮显示的矩形)顶部的中心 要使其居中,我需要工具提示的宽度 我正试着和你一起做这件事 .on('mouseover', function(d, i){ const tooltip = d3.select('.chart-tooltip').node(); const tooltipWidth = tooltip.getBoundingClientRec
.on('mouseover', function(d, i){
const tooltip = d3.select('.chart-tooltip').node();
const tooltipWidth = tooltip.getBoundingClientRect();
console.log(tooltipWidth)
但是console.log返回0
我认为这是因为没有显示工具提示
是否可以获取工具提示的宽度。在设置div的
html
以及显示:块之后,必须使用getBoundingClientRect
代码>:
tooltipDis.html(html)
.style("display", 'block');
const tooltipWidth = tooltip.getBoundingClientRect();
下面是分叉代码:为什么在图表中使用div而不是svg的text/tspan?在任何情况下,请尝试使用“可见性:隐藏”而不是“显示”:none@CoderinoJavarino如果使用OPvisibility:hidden
则div仍会占用页面空间,这不是一个好主意。这里惯用的方法是display:none代码>,和OP一样。@GerardoFurtado他用的是绝对值positioning@CoderinoJavarino是的,我知道。