Axis和svg文本元素相互隐藏
Axis and svg text elements hide each other
工具提示中有条形图,当悬停蓝色矩形时显示。在这些条的左边有坐标轴文本元素:
var yScale = d3.scaleOrdinal()
.domain(constNames)
.range([barHeight/2, constResults.length * barHeight + barPadding - barHeight/2]);
var yAxis = d3.axisLeft(yScale)
.tickSize(nameLength)
.tickPadding(0);
svg2.append("g")
.attr("class", "axis")
.attr("transform", "translate(" + nameLength + ",0)")
.style("text-anchor", "start")
.call(yAxis);
在栏的右边有文本元素,值为:
svg2.selectAll("text")
.data(constResults)
.enter()
.append("text")
.text(function(d) {
return(d + "%");
})
.attr("text-anchor", "start")
.attr("alignment-baseline", "central")
.attr("y", function(d, i) {
return i*(barHeight + barPadding) + barHeight/2;
})
.attr("x", function(d) {
return xScale(d) + nameLength + barPadding/2;
})
.attr("font-family", "sans-serif")
.attr("font-size", "12px")
.attr("fill", "black");
问题是,当轴文本在齿轮,svg文本是隐藏的。当我关闭轴文本,svg文本工作ok
这是我的小提琴:http://jsfiddle.net/anton9ov/jhf63wpy/
当你这样做的时候:
svg2.selectAll("text")
.data(constResults)
.enter()
.append("text");
您正在选择所有文本元素,并且在该SVG中已经有了文本元素。您必须选择其他内容,例如:
svg2.selectAll(".secondText")
.data(constResults)
.enter()
.append("text");
这是你的小提琴:http://jsfiddle.net/h5xnwwpd/
相关文章:
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 随时隐藏元素
- 根据特定条件使用ng显示/ng隐藏来显示/隐藏元素
- 隐藏元素直到加载完成(ng斗篷不是我需要的)
- 在具有类的元素中隐藏元素
- javascript()onclick隐藏元素-dos'我不在firefox工作
- JQueryHide()在按钮中使用元素时不会隐藏元素
- 使用Javascript取消隐藏元素
- 如果鼠标离开父对象,则隐藏元素
- 如何在jquery ajax成功html响应中找到输入隐藏元素
- 基于事件在循环中隐藏元素
- 渐进式增强-不使用CSS隐藏元素
- 隐藏元素后更新滚动条
- jQuery没有隐藏元素
- jQuery隐藏元素在使用CSS显示时保持隐藏状态
- 如何使用javascript在区域外单击时隐藏元素
- 如何在加载网页时隐藏元素
- JS:隐藏元素上的事件侦听器
- HTML 显示/隐藏元素 JS 不起作用