[英]animate this element in d3js
好吧,我有以下代码示例,其中我在svg元素中有圆圈。 每个圆圈都有一个点击事件,我正在尝试为点击的圆圈设置动画。 目前所有圈子都是动画的,因为我指的是泡泡对象。 我想要的是将被点击的对象称为自己而不是其他对象:
var data_items=[100,200,300];
var svg = d3.select("#chart")
.append("svg").attr("width", 800).attr("height", 600);
var g = svg.selectAll(".bubbleContainer")
.data(data_items)
.enter().append("g")
.attr("class","bubbleContainer");
var bubble = g.append("circle")
.attr("class","bubble")
.attr("cx", function(d) {
return d;
})
.attr("cy", function(d) {
return d
})
.attr("r", function(d) {
return d/2
})
.on("click",function(d){
bubble
.transition()
.duration(1000)
.attr("r",1000)
})
任何帮助深表感谢
谢谢!
您可以使用d3.event.target
访问在事件处理程序中单击的元素。 例如,参见这个jsfiddle 。
Lars Kotthoff所写的内容会起作用。 或者 - 我不确定哪个更惯用:
在单击处理程序内, this
上下文引用单击的DOM元素。
所以以下也会这样做:
.on("click",function(d){
d3.select(this)
.transition()
.duration(1000)
.attr("r",1000)
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.