d3中实时图形不平滑的转换

时间:2013-10-30 15:40:31

标签: javascript internet-explorer d3.js

我正在使用迈克博斯托克的超酷d3.js&团队并刚刚实现了我自己的滑动时间序列图表版本,如Mike's page(第二版)所示。

不幸的是,滑动效果(即使是迈克的版本)在Internet Explorer(版本< 11)中也很糟糕,而在例如Firefox浏览器。通过recoursivly调用tick()函数来实现连续滑动效果,这就是IE似乎有问题的地方。

是什么让我觉得可能有一些解决方案是即使在IE中,第一次转换也是顺畅的。

我尝试过使用setInterval作为替代方案,但没有成功。 任何人都可以想到一个解决方案(除了停止使用ie ...)?

1 个答案:

答案 0 :(得分:2)

.attr("transform", null)替换为.attr("transform", "")

例如:

path
    .attr("d", line)
    // ******************************
    .attr("transform", "") // <- here 
    // ******************************
    .transition()
      .duration(750)
      .ease("linear")
      .attr("transform", "translate(" + x(-1) + ")")
      .each("end", function() { tick(path, line, data, x); });