首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >D3转换-暂停和恢复

D3转换-暂停和恢复
EN

Stack Overflow用户
提问于 2013-04-06 00:08:03
回答 2查看 3.2K关注 0票数 9

我试图理解“暂停”和“简历”的D3转换从这个指南。虽然我理解“暂停”是如何工作的,但在谈到“简历”时,我一点也不迷路。我无法理解作者的解释,特别是“线性”或第一次简历解释。我的问题是,e.attr("T",0);.attr("T",1);到底在做什么?

我正在将简历功能应用于视频或波形示例的游戏头上:小提琴

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-06 11:09:14

代码e.attr("T",0).attr("T",1)为所选节点设置属性。也就是说,创建并设置了一个新的属性"T“。这样做的目的纯粹是为了方便停止和恢复-0代表开始之前的过渡,1在结束。

如果该属性包含在转换中,则值将逐渐从0更改为1。正如本教程的作者所指出的,这可以用于在任何时间点获取转换的状态--您只需查询"T“的值。如果还保存了特定的转换,则可以在任何时候使用该值暂停和恢复。

请注意,"T“没有什么特别之处。您可以使用任何(未使用的)属性名称。其目的只是有某种方法来判断过渡的进展有多大。

票数 5
EN

Stack Overflow用户

发布于 2015-01-08 18:49:43

我也一直在努力解决这个确切的问题,我认为这个例子有个错误,让我很失望。提交人写道:

代码语言:javascript
复制
var e = d3.select("#time");
e.attr("T",0);

c.transition()
    .duration( time )
    .ease( "linear" )
    .attr("T",1);

似乎e将以c转换的形式更新其T属性,这是没有意义的。相反,我认为应该这样做:

代码语言:javascript
复制
var e = d3.select("#time");
e.attr("T",0);

e.transition()
    .duration( time )
    .ease( "linear" )
    .attr("T",1);

现在,我们选择#time元素,将其T属性的初始值设置为0,然后将转换添加到在指定持续时间内将T更改为1的同一元素e (而不是c)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15845506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档