gpt4 book ai didi

javascript - 为什么这个简单的 attrTween 示例不起作用?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:57:20 27 4
gpt4 key购买 nike

我正在尝试理解 attrTween。我知道进行此方形移动的简单方法就是使用 attr,但该示例的目的是让我了解 attrTween。下面的例子没有做任何事情,但是控制台也没有出现js错误,所以我不确定我哪里出错了。

var svg = d3.select("svg")
var pi = Math.PI;

var mySquare=svg.append("rect")
.attr("x",60)
.attr("y",60)
.attr("width",200)
.attr("height",200);

mySquare.transition()
.duration(2000)
.attrTween("x", d3.interpolate(60,400))

下面是示例的实时编码链接:http://livecoding.io/5037197

最佳答案

来自API :“tween返回值 [强调] 必须是一个插值器:一个函数...”

这是一种方法,带有一个内联函数。

http://jsfiddle.net/TsMgJ/2/

mySquare.transition()
.duration(2000)
.delay(500)
.attrTween("x", function (d, i, a) {
console.log(a); // returns 60, the value of "x" at the start
return d3.interpolate(a, 400);
});

这是另一种方法,函数在链接之外。

http://jsfiddle.net/tz5KT/1/

mySquare.transition()
.duration(2000)
.delay(500)
.attrTween("x", myTweenFunction );

function myTweenFunction(d, i, a) {
console.log( a ); // returns 60, the current value (value at start)
return d3.interpolate(a, 400);
}

关于javascript - 为什么这个简单的 attrTween 示例不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15085383/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com