d3.js单击时交替颜色,单击另一个点时变回原始颜色
d3.js Alternate colors on click and change back to original on click of another dot
我正在使用 d3 中的散点图,图表上的每个点代表一张纸。
图表上的所有点都是蓝色的,但在单击时,我希望所选纸张更改颜色,例如(黄色)。但是当单击另一个点时,我希望第一个点恢复为蓝色,新选择的点变为黄色。我将如何实现这一目标?我有一个名为clickHandler的函数,当在单击属性中创建圆圈时调用该函数。
这是一个类似的问题 d3 javascript 点击时的替代颜色
但是,与其在第二次单击该圆圈时圆圈变回原始颜色,不如让它在单击另一个圆圈时变回原始颜色。
以下代码来自上面链接的问题,我想知道我是否会走在正确的轨道上,认为这是我应该遵循的方法?
function clickHandler (d, i) {
var toggleColor = (function() {
var currentColor = "blue";
return function() {
currentColor = currentColor == "blue" ? "yellow" : "blue";
d3.select(this).style("fill", currentColor)
.style("stroke", "black");
}
})
}
任何帮助将不胜感激!提前感谢!
这可以像这样简单:
function clickHandler (d, i) {
// reset all circle to blue
d3.selectAll('circle') //<-- or slap a class name on your circles and use that
.style('fill', 'blue');
// set selected one to yellow
d3.select(this)
.style('fill', 'yellow');
}
相关文章:
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 使用Angular单击时更改特定图示符图标的颜色
- 单击时将文本的颜色更改为随机颜色(按钮)
- 如何在鼠标单击时更改KML多边形的颜色
- 单击ng更改列表项的活动bg颜色
- 将上次单击的按钮和访问过的按钮(未访问过的)的颜色分开
- 如何在单击按钮时更改整行的颜色
- 使用 jQuery 单击链接时更改链接背景颜色
- 通过右键单击更改完整日历中事件的背景颜色 - 不起作用
- 尝试在单击时使用Jquery更改html的背景颜色
- Adobe Acrobat X疑难解答下拉列表颜色选择.需要单击选择
- 单击按钮更改颜色/清除画布时画布出现问题
- 单击时更改点颜色
- 每次单击按钮时随机选择颜色
- 单击时更改元素的颜色
- 当再次单击时,我希望颜色消失.(喜欢/讨厌按钮,一切都可以,但如果我点击两次喜欢按钮,我希望颜色消失)
- Jquery单击颜色
- 单击时更改行颜色-ASP.NET和JavaScript
- 如何在绘图应用程序上单击颜色时播放声音
- 可单击颜色框更改聊天气泡的颜色