我正在使用Mike Bostock和团队的超酷d3.js,并且刚刚实现了我自己的滑动时间序列图表版本,如Mike的页面(第二个版本)所示。
不幸的是,滑动效果(甚至是Mike的版本)在Internet Explorer(<11版本)中很糟糕,而在Firefox中则完全流畅。连续滑动效果是通过反复调用 tick() 函数来实现的,这就是 IE 似乎有问题的地方。
让我认为可能有一些解决方案的是,即使在IE中,第一次过渡也是平滑的。
我尝试使用setInterval作为替代方案,但没有成功。任何人都可以想到解决方案(除了停止使用即..)?
将.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); });