在以下代码中,我想在g++ -Wl,-s -Wl,-subsystem,windows -mthreads -o release\TestFtdi.exe release/main.o release/testftdi.o release/moc_testftdi.o -lmingw32 -LC:/Qt/5.5/mingw492_32/lib -lqtmain -lshell32 -LF:\Workspace\qt\libs\ftdi\Static\amd64 -lftd2xx -lQt5Widgets -lQt5Gui -lQt5Core
事件发生时更改svg circle
元素的样式。问题是click
的更改只要在更改opacity
之前生效(只有最后一次更改生效)才会生效。
fill
知道如何解决这个问题以及为什么会这样?
答案 0 :(得分:1)
在选区上创建转场会取消任何现有转场。因此,当您创建第二个时,您将取消第一个。要修复,只需链接样式更改:
d3.selectAll('.nodeCircle').transition()
.style('opacity', function() {
var itrCircle = this;
return (neighbors.indexOf(itrCircle.id) === -1) ? itrCircle.style.opacity : 1;
})
.style('fill', function() {
var itrCircle = this;
return (neighbors.indexOf(itrCircle.id) === -1) ? itrCircle.style.fill : 'red';
});