我正在开发一个将显示一种动画幻灯片的应用程序。多台显示器将显示不同但相关的动画,由同一台计算机控制。
动画必须在不同的监视器上同步。也就是说,在监视器 A 上,一个元素将开始移动,而在监视器 B 上,一个完全不同的元素将开始移动,而且这些显然必须同时发生。
我的假设是我们将为每个监视器使用不同的浏览器窗口。
使用超时来让动画同时触发很容易——我将当前时间与预定时间进行比较,然后等待那个毫秒数。方法顶部的 console.log() 显示两个方法在 1 或 2 毫秒内触发。但是,动画不会同时发生。目测它,一个比另一个落后三分之一秒。哪个是第一个,哪个是最后一个是不一致的。(仅供参考,这些是 CSS3 动画。)
那么,如果 setTimeout 不这样做,还有哪些其他选项呢?
我应该转向 SVG/SMIL 吗?我们可以选择我们正在运行的浏览器。
或者,让浏览器窗口跨越所有显示器的简单解决方案是什么?