我想知道动画路径转换是否可以返回最后绘制的位置? ..通过 attrTween 我们可以获得补间范围[0-1]但曲线位置??
例如:
path
.attr("stroke-dasharray", t1 + " " + t1)
.attr("stroke-dashoffset", t1)
.transition(d3.transition()
.duration(lap)
.ease(d3.easeLinear)
.attrTween( "e", function(d) {
return function( t ) {}})
.attr("stroke-dashoffset",0)
感谢的
答案 0 :(得分:0)
可以像这样定义补间及其工厂:
function tween (t) {
var totalLength = this.getTotalLength();
//a SVGPoint object with x/y properties
var position = this.getPointAtLength(total * t);
//...do something
}
function tweenFactory (d) {
return tween.bind(this);
}
如果在执行工厂时路径已经存在于DOM中并且路径长度没有改变,totalLength
的计算显然可以移动到工厂函数。