首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bostock的d3对象恒恒性示例:d3 d3.transition().each的效果如何?

Bostock的d3对象恒恒性示例:d3 d3.transition().each的效果如何?
EN

Stack Overflow用户
提问于 2016-11-09 22:09:17
回答 1查看 386关注 0票数 1

完全小提琴在这里:https://jsfiddle.net/scottbrown0001/o7qL4dpr/

我试图模仿Mike的对象恒恒性示例https://bost.ocks.org/mike/constancy/,但我不知道each()在其第133行中选择了什么:

代码语言:javascript
复制
function change() {
  clearTimeout(timeout);

  d3.transition()
    .duration(altKey ? 7500 : 750)
    .each(redraw);
  }

在我的小提琴示例中,我使用了类似于相同的结构,虽然它确实获得了运行的转换效果,但我看不到持续时间较慢。一般来说,这个构造d3.transition.each()在具体的细节中选择了什么?看起来这可能是某种“主转换”,但我看不出each()迭代是如何工作的。我肯定有一些关键的区别,但我看不出来。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-10 00:51:55

就像在另一个问题中一样,这与d3 v3和d3 v4有很大关系。您将无法在v4中使用此代码再现这种行为。

查看本节 of d3 v4发布说明,其中mbostock处理transition.each中的更改:

这种方法取代了3.x中transition.each的神奇行为;在4.0中,transition.each与selection.each完全相同

在v3中,transition.each与这里所记录的不同:https://github.com/d3/d3-3.x-api-reference/blob/master/Transitions.md#each

..。使用当前DOM元素的上下文,立即调用当前转换中的每个元素的指定函数,传递当前数据d和索引i。

所以,它不能以同样的方式工作的根本原因是,现在,transition.each将循环遍历受转换影响的每个元素。

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

https://stackoverflow.com/questions/40516845

复制
相关文章

相似问题

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