Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何向圆上的半径增加添加过渡效果?_Javascript_Svg_D3.js - Fatal编程技术网

Javascript 如何向圆上的半径增加添加过渡效果?

Javascript 如何向圆上的半径增加添加过渡效果?,javascript,svg,d3.js,Javascript,Svg,D3.js,我有下面的代码,允许我在单击圆时增加它的大小。我想添加过渡效果,但它不起作用: D3.js HTML/svg <a class="bubble-node" id="bubble-id-3" style="fill: #62d5f4"> <circle id="circle-8" r="65"></circle> </a> 我遗漏了什么?不确定您到底想做什么,但我认为d.id的选择器是错误的 尝试使用这个.id $(".bubble-n

我有下面的代码,允许我在单击圆时增加它的大小。我想添加过渡效果,但它不起作用:

D3.js

HTML/svg

<a class="bubble-node" id="bubble-id-3" style="fill: #62d5f4">
    <circle id="circle-8" r="65"></circle>
</a>


我遗漏了什么?

不确定您到底想做什么,但我认为d.id的选择器是错误的 尝试使用这个.id

$(".bubble-node")
.on("click", function (d) {
    $("#circle-" + this.id).transition().duration(1000).attr("r", r);
    d.forceR = r; // forceR is a property on the data object
});
但是,当您连接DOM中不存在“#circle-bubble-id-3”时,id将不匹配。所以,您可能希望将元素的id更改为“8”,然后它将连接到“#circle-8”,从而有效地选择圆对象


另外,如果您使用jQuery,我会坚持使用animate(),除非transition()是您正在使用的插件。

您使用jQuery选择元素,然后使用D3设置元素的动画--D3需要选择。使用d3.select(this).transition()…。
$(".bubble-node")
.on("click", function (d) {
    $("#circle-" + this.id).transition().duration(1000).attr("r", r);
    d.forceR = r; // forceR is a property on the data object
});