我的页面上有路径元素,它们有一个属性“title”,这是一个html信息表。这是一个例子:
<table>
<tr>
<td>
<b><u>California</u></b>
</td>
</tr>
<tr>
<td>
<u>University</u>
</td>
<td>
<u>Percent</u>
</td>
</tr>
<tr>
<td>
California 1:
</td>
<td>
6.6%
</td>
</tr>
<tr>
<td>
California 2:
</td>
<td>
1.2%
</td>
</tr>
<tr>
<td>
California 3:
</td>
<td>
0.5%
</td>
</tr>
<tr>
<td>
California 4:
</td>
<td>
10.1%
</td>
</tr>
<tr>
<td>
California 5:
</td>
<td>
3.6%
</td>
</tr>
</table>
当我最初加载页面时,poshytips看起来很好,但是当我更新滑块(更新表格)时,一些提示会获得长十进制字符串。上表是来自console.log的更新时应显示的内容。但是,值“1.2%”显示为“1.20000000000000002%。”从csv读取输入的值是最初的字符串值,只有一个小数位。这是我使用d3更新提示的方法('maketip'函数只返回上面显示的表):
state_path.transition()
.duration(1000)
.attr('title', function(d) {
return maketip(d,y);
})
.each("end", function(d) {
var $this = $(this);
$this.poshytip("update", $this.attr('title') );
});
有没有办法防止这种情况,或者有办法将此表指定为对象的内容?
答案 0 :(得分:0)
以下是我找到的答案 - 感谢您的评论: 尝试给poshytip函数而不是将其保存到标题attr。
$('.county_path').poshytip({
content: function() {
return maketip(this.__data__.id, this.__data__.properties.name);
},
className: 'tip-ihme',
slide: false,
followCursor: true,
alignTo: 'cursor',
alignX: 'center'
});