我正在通过地图 ( leaflet.js) 建立网络,其中有两种不同类型的圈子(私有域和公共域)。我可以在地图中显示我的links和我的nodes(nodes实体类型(私人或公共)以及links他们彼此签订的合同。
.on("mouseover")不幸的是,当我尝试将效果应用到我的圈子时遇到了问题。下面的代码展示了我具体做了什么效果。
var circle = g.selectAll("circle")
.data(nodes)
.enter()
.append("circle")
.attr("cx", function(d){ return map.latLngToLayerPoint([d.lat, d.long]).x })
.attr("cy", function(d){ return map.latLngToLayerPoint([d.lat, d.long]).y })
.attr("r", function(d,i)
{
if(d.numContr >= 50) {return 20;}
else{
if(d.numContr <50 && d.numContr >= 25) {return 16;}
else{
if(d.numContr <25 && d.numContr >= 10) {return 12;}
else {return 8; }
}
}
})
.attr("fill", function (d, i)
{
if(d.private == 1) { return "rgb(8,105,114)" }
else { return "rgb(167,255,131)"}
})
.attr("stroke","rgb(7,26,82)")
.attr("stroke-width", 6)
.on("mouseover", mouseover)
.on("mouseout", mouseout)
其function mouseover内容如下:
function mouseover(d, i, n)
{
console.log(d3.select(n[i])
d3.select(n[i])
.transition()
.duration(100)
.attr("opacity",0.7)
}
我现在面临的问题是,当我console.log()尝试查看什么属性或发送到 的值时,我什至看不到数据log,数据就是看不到。我尝试了一切可能的方法,我尝试将函数放入.on("mouseover", function(...){...}),随机尝试中,但似乎没有任何效果。提醒一下,我只有 2 周的时间d3.js,所以我仍然是一个尝试学习文档的菜鸟。我觉得奇怪的是,另一个functions正在工作并通过data,但当我指的是该mouseover功能时,它不起作用。
我将提供所有代码以供进一步分析,因为问题可能出在其他地方。
慕姐4208626
相关分类