Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript cloneNode()使html视频延迟,有时根本不渲染_Javascript_Html_Video_Html5 Video_Clonenode - Fatal编程技术网

Javascript cloneNode()使html视频延迟,有时根本不渲染

Javascript cloneNode()使html视频延迟,有时根本不渲染,javascript,html,video,html5-video,clonenode,Javascript,Html,Video,Html5 Video,Clonenode,当我单击一个视频时,它应该从其原始位置设置动画到某个目标位置。由于种种原因,我无法为原始的视频元素设置动画,因此我为由cloneNode()创建的克隆设置动画。我只是在点击时循环浏览大约5个视频(长度不到20秒)和5个图像。我的动画方法只会导致视频延迟,有时甚至根本不渲染,而图像似乎没有受到影响。我注释掉了我所有的动画代码,除了一行: var clone = videoElement.cloneNode( false ); 如果没有动画代码,图像/视频只是瞬间传送到目标位置(这是预期的)。但

当我单击一个
视频
时,它应该从其原始位置设置动画到某个目标位置。由于种种原因,我无法为原始的
视频
元素设置动画,因此我为由
cloneNode()
创建的克隆设置动画。我只是在点击时循环浏览大约5个视频(长度不到20秒)和5个图像。我的动画方法只会导致视频延迟,有时甚至根本不渲染,而图像似乎没有受到影响。我注释掉了我所有的动画代码,除了一行:

var clone = videoElement.cloneNode( false ); 
如果没有动画代码,图像/视频只是瞬间传送到目标位置(这是预期的)。但是当我相对快速地点击这一行时,不加注释会导致视频延迟一点(如果我幸运的话),有时甚至无法在Chrome中渲染。在Edge中,视频渲染需要几秒钟。删除该行后,无论我点击的速度有多快,视频加载/渲染都很好

  • 为什么会发生这种情况?克隆节点真的那么慢吗
  • 这个问题有什么切实可行的解决办法吗

  • 问题似乎出在cloneNode()上,但事实证明这是因为我使用mp4文件作为视频源。在Chrome中不推荐使用mp4。我一转换到webm视频文件,延迟/渲染问题就完全消失了