【问题标题】:d3.js skips a text transition (second of 3 transitions)d3.js 跳过文本转换(3 个转换中的第二个)
【发布时间】:2012-07-06 20:57:58
【问题描述】:

改编自“绑定二维数据”部分:http://christopheviau.com/d3_tutorial/

dataset = new Array()
dataset[0] = ['first', 'second', 'third']

d3.select("#viz")
.append("table")
.style("margin", "0 auto")
.selectAll("tr")
.data(dataset)
.enter()
.append("tr")
.selectAll("td")
.data(function(d){return d;})
.enter()
.append("td")
.style("border", "1px black solid")
.style("padding", "10px")
.text(function(d){return d;})
.style('font-size', '18pt')


.transition().delay(1000)
.text('nothing')

.transition()
.delay(1000)
.text('test');

代码也托管在这里:http://jsfiddle.net/LittleBobbyTables/vEfgu/

这会跳过文本应该说“无”的阶段,直接说“测试”。

我是不是做错了什么?

【问题讨论】:

    标签: javascript transition d3.js


    【解决方案1】:

    一个接一个地调用转换并不一定会“链接”它们,在您的示例中,1000 毫秒后,第一个和第二个转换将同时执行 - 因此您看不到第一个转换的结果。解决此问题的最简单方法是更改​​第二次转换的延迟:

    .transition().delay(2000)
    

    【讨论】:

    • 谢谢 :) 我有点明白 d3 不是一个事件链,而是一个被处理然后同时输出的标记。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2015-09-25
    • 2016-12-10
    • 1970-01-01
    相关资源
    最近更新 更多