【发布时间】:2011-10-17 00:48:00
【问题描述】:
我正在构建一个显示 youtube 视频列表的 jquery ajax 页面。我在页面上有两个视图(列表和视频),它们构建为 LI 元素,向左浮动,在 UL 元素内。我这样构建它是因为视图之间的过渡是使用水平滑动效果完成的,并且我发现使用列表允许页面在视图高度不同时正确垂直调整大小。
当从列表视图中选择视频时,我首先查看它是否存在于 DOM 中。如果是这样,我只需将其移至视频视图。如果没有,我创建一个新的 DIV 并将视频加载到其中。将视频移入视频视图后,我将视频视图滑动到位。转换回列表视图时,我将视频移动到隐藏的“帮助”div 中,以便将其保存在 DOM 中。
我遇到的问题是,每当我将 youtube 播放器移入/移出视频视图时,它都会被重置。因此,即使视频已完全加载(和/或部分播放),在移动它之后,播放器也会重置为 0 并且必须完全重新加载。我正在使用 appendTo() 来移动它。
这是一个简化的 jsfiddle 测试:
您会在我的测试代码中看到我可以显示/隐藏播放器并保持状态。但是当我使用 .appendTo() 将视频 DIV 移动到辅助 DIV 时,我失去了播放器的状态。我设置了 3 个测试...您可以通过更改 whichTest 全局变量来更改测试。
【问题讨论】:
标签: jquery youtube-api