Javascript 视频准备好播放后立即淡入,但等待时间不得少于2秒

Javascript 视频准备好播放后立即淡入,但等待时间不得少于2秒,javascript,settimeout,oncanplaythrough,Javascript,Settimeout,Oncanplaythrough,当我的页面加载时,我会在视频中淡入淡出,我想知道如何将oncanplaythrough与settimeout结合起来,使视频尽快开始淡入,但不少于2秒-这样页面上的其他元素可以在视频加载之前淡入,即使视频加载速度更快 我一直在使用以下方法,我的假设是视频加载需要一些时间,但实际上加载速度通常超过2秒,因此页面上的元素淡入顺序并不理想: document.getElementById("v0").oncanplaythrough = function() { document.

当我的页面加载时,我会在视频中淡入淡出,我想知道如何将oncanplaythrough与settimeout结合起来,使视频尽快开始淡入,但不少于2秒-这样页面上的其他元素可以在视频加载之前淡入,即使视频加载速度更快

我一直在使用以下方法,我的假设是视频加载需要一些时间,但实际上加载速度通常超过2秒,因此页面上的元素淡入顺序并不理想:

document.getElementById("v0").oncanplaythrough = function() { document.getElementById("v0").classList.remove('fade-in-vid'); };

如果视频尚未加载,并且淡入在2秒后开始,这很好,但如果视频已经可以播放,我还希望避免它再等待2秒-因此我需要检查它是否可以在2秒等待时间后播放-如果可以,立即开始淡入


有什么想法吗?香草js。我已经做了一点实验,这大致有效:`setTimeout(function(){if(document.fonts.ready){document.getElementById(“v0”).classList.remove('fade-in-vid');}},3000);`但我仍然缺少一件事——等待视频完全加载。我尝试过将&document.getElementById(“v0”).canplaythrough添加到if,但它不起作用,所以我想它不能作为if条件工作?我做了一些实验,这大致有效:`setTimeout(function(){if(document.fonts.ready){document.getElementById(“v0”).classList.remove('fade-in-vid');},3000)`但我仍然缺少一件事——等待视频完全加载。我已经尝试将&&document.getElementById(“v0”).canplaythrough添加到if,但它不工作,所以我猜它不能作为if条件工作?