繁体   English   中英

在d3js中为此元素设置动画

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM