gpt4 book ai didi

css - 在不同的浏览器窗口中同步动画

转载 作者:行者123 更新时间:2023-11-28 12:19:21 33 4
gpt4 key购买 nike

我正在开发一款可以显示一种动画幻灯片的应用程序。多台显示器将显示不同但相关的动画,由同一台计算机控制。

动画必须在不同的监视器之间同步。也就是说,在监视器 A 上,一个元素将开始移动,而在监视器 B 上,一个完全不同的元素将开始移动,而这些显然必须同时发生。

我的假设是我们将为每台显示器使用不同的浏览器窗口。

使用超时让动画同时触发很容易 - 我将当前时间与预定时间进行比较,然后等待该毫秒数。方法顶部的 console.log() 显示这两种方法在 1 或 2 毫秒内触发。但是,动画不会同时发生。盯着它看,一个人落后另一个人多达三分之一秒。哪个是第一个哪个是最后一个是不一致的。 (仅供引用,这些是 CSS3 动画。)

那么,如果 setTimeout 不执行此操作,还有哪些其他选项?

我应该转向 SVG/SMIL 吗?我们可以选择要运行的浏览器。

或者,让浏览器窗口跨越所有显示器的简单解决方案是什么?

最佳答案

我肯定会让您的浏览器窗口跨越所有显示器。这样,您所有的动画都在同一个线程上运行,并且您可以恰到好处地为所有内容计时。拥有两个不同的浏览器窗口会使计时成为一场噩梦。即使 CSS 由于非常宽的窗口而有点棘手,但从长远来看恕我直言,你会更好。

根据您要制作的 CSS3 动画类型,您可以使用类似 jQuery Transit 的框架。可以很容易地为您处理 CSS3 动画。这是一个例子:

//Fire off 1st and 4th object simultaneously
$("#object1, #object4").transition({ "y": 300 }, 5000, "in",function () {

//Fire off 2nd/3rd object once 1st/4th have finished their thing
$("#object2, #object3").transition({ "y": 500, "background-color": "red" });
});

JS Fiddle Demo

关于css - 在不同的浏览器窗口中同步动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16570932/

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