【发布时间】:2011-10-07 06:26:28
【问题描述】:
我的网页包含一个嵌套在 div class="video-container" 中的视频元素以及一个 div class="video-control-bar",我使用 JQuery 来制作动画。我还使用 setInterval 来查询视频元素的 currentTime 并将其反映在 video-control-bar 中包含的进度条中。
JavaScript:
$(function(){
$(".video-container").each(function(){
player_init($(this))
})
})
function player_init(self)
{
setInterval(function(){
var video = self.find("video")[0]
self.find(".video-control-bar").find(".video-position").find("input").val(video.currentTime / video.duration)
self.find(".video-control-bar").find(".video-position").find("progress").val(video.currentTime / video.duration)
}, 500)
self.hover(function(){
self.find(".video-control-bar").stop().animate({bottom: "0px"}, 25)
}, function(){
self.find(".video-control-bar").stop().animate({bottom: "-39px"}, 350)
})
}
问题?好吧,在 Chrome 中,如果我加载页面,我的 setInterval 函数会像预期的那样每 500 毫秒调用一次,直到我将鼠标悬停在播放器上,从而导致控制栏动画。之后不再调用我的 setInterval 函数。
但是如果我点击刷新,页面会重新加载,我可以将鼠标悬停在我想要的任何地方,一切都会继续正常工作。但是只有如果我通过刷新加载页面。
这在 Firefox 中不会发生。我怀疑这可能是 Chrome 中的错误,因为它类似于我提交的问题 here。
我真的不知道这是我做事方式的问题、JQuery 的问题还是 Chrome 中的错误。我真的不在乎是谁的错误,我只想让事情正常工作。
谢谢。
【问题讨论】:
-
如果可以的话,发布一个示例的链接。
-
@ChrisMorgan tinyurl.com/3cnnrha
-
你有最新的 JQuery 吗?我在 jquery.js 中得到 DOM 异常 9
-
当你用一些警报或其他东西替换间隔的内部时会发生什么?
-
@Kaj 和以前一样。警报将被调用,直到您将鼠标悬停在播放器上。然后什么都没有。同样,刷新页面“修复”了问题。
标签: jquery html google-chrome