gpt4 book ai didi

javascript - 如何在 NVD3 中全局更改过渡持续时间?

转载 作者:搜寻专家 更新时间:2023-11-01 04:54:23 25 4
gpt4 key购买 nike

我想将 NVD3 图表转换为 PDF 文档。这些图表通常显示在浏览器中(我无法为每个图表制作一个单独的实例用于打印和显示),我使用 PhantomJS 完成了所有工作,但我有一个问题,我似乎找不到好的解决方案到。

所有 NVD3 模型都使用过渡,但只有部分过渡受 transitionDuration 选项影响。由于这些转换,我现在必须在 PhantomJS 中“捕获”屏幕以制作 PDF 之前使用超时,否则会在转换过程中生成那些图表的文档图片。显然,我宁愿不必等待。

PhantomJS 使用 print 媒体类型来呈现 PDF,因此禁用任何 CSS3 动画(使用媒体查询)非常容易,但我找不到任何方法关闭 D3 转换(在其他单词 - 强制默认转换持续时间为 0)。我可以在 JavaScript 中检测到 print 媒体类型,但是找不到在 D3/NVD3 中全局关闭动画的好方法......这就是我所拥有的,它并没有真正做太多:

var chart = nv.models.multiBarChart()
.tooltipContent(tooltip)
.stacked(true)
.showControls(false);

var duration = 1000; // default duration
if(window.matchMedia) {
if(window.matchMedia('print').matches) {
duration = 1; // duration for print
}
}

chart.transitionDuration(duration);

最佳答案

从 NVD3 1.7.1 开始,您可以使用持续时间选项:

chart.duration(0);

关于javascript - 如何在 NVD3 中全局更改过渡持续时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22590020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com