Javascript 选择d3之后的元素(此)
在d3中,我根据元素的性质设置元素的动画Javascript 选择d3之后的元素(此),javascript,d3.js,Javascript,D3.js,在d3中,我根据元素的性质设置元素的动画 .on('mouseover', function (d, i) { d3.selectAll('rect') .attr('y', function() { // affects all <rect> elements // I have tried if (source.length > (i + 1)) {
.on('mouseover', function (d, i) {
d3.selectAll('rect')
.attr('y', function() {
// affects all <rect> elements
// I have tried
if (source.length > (i + 1)) {
console.log(i);
}
}
d3.select(this)
.attr('y' function() {
// affects only the mouseover element
}
// since above didn't work, maybe some other selection method will?
d3.select(AllThingsAfterthis)
.attr('y' function() {
// some other values
}
})
您可以通过以下方式执行此操作:
完成演示。将您必须的svg标记添加到问题中,此文本描述没有帮助。添加代码以澄清。我在d3中寻找一种方法,它可以针对索引在this对象后面的元素。所以你有一个group(我相信它是
g
tag),当其中一个被悬停时,你想对组中的所有rect做些什么?这绝对是一种方法。但我需要在每次鼠标悬停事件时生成该组标记,因为悬停状态将触发重新生成。似乎没有那么有效。
rect 1 -> .selectAll
rect 2 -> .selectAll
rect 3 -> this
rect 4 -> how do I target this?
rect 5 -> or this specifically?
.on("mouseover", function() {
var node = this;
while(node = node.nextSibling) {
d3.select(node)...;
}
})