以下代码从数据生成路径。
var path = gameBoard.append('path')
.attr("id", "snake" + snakeIndex)
.attr("d", interpolator(data))
.attr('stroke-width', snakeStroke)
.attr('fill', 'none')
.attr('stroke', config.snakeColor);
数据定义的曲线路径正确绘制。
此处失败getTotalLength()未定义:
var totalLength = path.getTotalLength();
此外,还没有定义getPointAlongLength():
var point = path.getPointAtLength(position);
答案 0 :(得分:7)
而不是:
var totalLength = path.getTotalLength();
必须是:
var totalLength = path.node().getTotalLength();
getTotalLength()
适用于节点,但path
是D3选择,而不是DOM元素本身。因此,您必须使用path.node()
。
答案 1 :(得分:2)