【发布时间】:2016-09-29 19:44:43
【问题描述】:
我在d3.js 地图中有一个function。
我使用d3.select(this).style('fill', 'red'); 来改变用户点击svg path 时的颜色。
颜色发生变化,但我想在单击新路径时将svg path 颜色更新为旧颜色。
这是我使用的函数:
.on('click', function(d) {
d3.select(this).style('fill', 'red')
.style('stroke-width', 3);
var year = $(".year-label").text();
var infoYear = 'yr' + year;
var counts = [];
for (i = 1984; i <= 2016; i++){
cnts = 'yr' + i.toString();
counts.push(d.properties[cnts]);
}
console.log(counts);
console.log(counts.length);
$('.text-name').empty();
var nameit = d.properties.city;
$('.text-name').append(nameit);
});
每条路径都有一个唯一的id。所以我尝试了这个函数但没有结果:
.on('click', function(d) {
d3.select('._' + d.geoid).this.style('fill', 'red');
我缺少一个元素,所以我试图通过对该行的小改动来解决它。但是效果不好。
这是这个问题的图片:
提前感谢您的支持!
【问题讨论】:
标签: javascript jquery d3.js