javascript - 从 d3 3.1.9 升级到 3.1.10 中断动画

标签 javascript animation d3.js

从 d3 3.1.9 升级到 3.1.10 后,我的 d3 svg 可视化上的动画中断了。 我猜这与此提交(删除旧功能)有关,并且我使用的是旧 api。 https://github.com/mbostock/d3/commit/d9659b6794fa1985c756d2a7d8ee73174e54ee08

即使是最简单的过渡也会失败(将组元素向右移动 75 像素):

d3.select('g.slider').transition().duration(500).attr('transform','translate(100,0)');

我在其他元素上有类似的过渡,这些过渡将与上述过渡同时开始。过渡相互抵消是否会发生冲突,即使它们位于完全不同的元素上?我希望我只是以错误的方式使用(新的?)API? 请注意,它在 3.1.9 上运行良好。我已经尝试按照 Mike 的指南进行操作(使用 d3.js 3 进行转换),但是 api 看起来是一样的,所以我被卡住了: http://bost.ocks.org/mike/transition/

编辑:如果我是唯一遇到此问题的人,我会感到惊讶。从 3.1.9 移动到 3.1.10 时,多年来我使用 d3 创建的所有动画可视化都停止工作

最佳答案

请使用GitHub issues报告错误。

并且请创建一个完整的示例来演示您的意外行为,而不是断章取意地引用代码片段。我无法重现您描述的行为。这是您在完整示例中正常工作的代码段,http://bl.ocks.org/mbostock/b4e46124258d1b75accb :

slider.transition()
    .duration(1000)
    .attr("transform", "translate(100,0)");

D3 有数千个测试和数百个示例,其中许多包括过渡和动画,并且没有一个受此更改的影响。您的所有可视化都使用 d3.timer 中这个晦涩的、未记录的功能吗?我很惊讶此更改会影响您的代码,我绝对不希望它广泛传播。

如果您仍然遇到意外行为,请在 GitHub 问题上跟进,并可以提供更多详细信息供我调查。

关于javascript - 从 d3 3.1.9 升级到 3.1.10 中断动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17011958/

相关文章:

JavaScript - 递归函数(插件?)不断变化的参数,直到达到数字(jQuery)

javascript - 如何将 d3-jetpack 与 d3v4 一起使用?

javascript - 当它点击iframe内的图片时,弹出窗口可以在iframe外显示吗?

Javascript innerHTML 忽略文本格式

Java Swing 处理状态

javascript - 如何使用 D3 生成特定范围内的随机颜色?

javascript - 在 d3.js 中对同一数据集实现多个过滤器

javascript - 如何在输入类型日期字段中自动选择日期

javascript - 我们可以在 html5 视频上每秒获得多少帧?

jsf - PrimeFaces 状态栏是静态的而不是动画的