Sample code is at the end of the post for reference.
很抱歉因为这么长时间的啰嗦,只是试图通过并留下没有可能的相关信息 .
这似乎是我在一个角落里画自己 . 我有一个show hide toggle功能似乎工作正常 . 我有一小部分DIV,当点击菜单项时,每个DIV都显示和隐藏 . 这是一个视频库 . 这些按钮位于JQuery脚本滑块中,位于html列表中 . CSS与Div ID一起使用
功能和隐藏所有工作都很棒 . 这似乎是一个策略问题,因为如果我想在显示div时开始播放相应的视频,我在加载此页面时删除了preload =“none”,所有32个视频都显示为缓冲并且KILLS页面加载时间 . 当我将预加载设置为无时,视频就会在有人点击相应的按钮显示之后准备播放 . 我和我的客户希望看到电影在窗口显示后开始播放 . 事实上,一旦窗口出现并且视频显示“正在加载”,我所要做的就是点击播放并开始顺利播放 . 因此,在不使用自动播放的情况下,当按下按钮以取消隐藏相应的div时,有没有办法让视频播放?
顺便说一句,我使用Video for Everyone作为基础,但似乎并没有提供超过几个视频的解决方案 .
也许我的视频格式是错误的,但我使用的是h264视频,在.m4v扩展名中保存了quicktime pro . 我也试图找出格式是否可以自动播放,但我知道OGV不能这样,所以我不会寄希望于此 . 另外,我将添加一个闪回后备 .
请注意我的代码,因为我只是一名动画师而且对这些东西一无所知 . 此外,看起来我的节目隐藏功能被 Spectator 截断了 . 它在那里工作正常,真的 .
<script>
<!-----Javascript----->
function hideAll(){
tag = document.getElementsByTagName("div");
for(x=0;x<tag.length; x++){
//alert(tag[x].getAttribute('id'));
if(tag[x].getAttribute('id').indexOf("hide") != -1){
//alert(tag[x].getAttribute('id'));
tag[x].style.display = "none";
}
}
}
function show(id){
el = document.getElementById(id);
if(el.style.display == "none"){
hideAll();
el.style.display = "block";
}
else {
el.style.display = "none";
document.getElementById('hide').style.display = "";
}
}
</script>
<!-----The list of buttons inside of the div slider----->
<li>
<div id="MenuGroup">
<div id="MoviePicL1">
<span style="cursor:pointer" onClick="show('hide1')"><img src="images/Posters/Movie1image"></span> </div>
<div id="MoviePicL2">
<span style="cursor:pointer" onClick="show('hide2')"><img src="images/Posters/Movie2image"></span> </div>
<div id="MoviePicL3">
<span style="cursor:pointer" onClick="show('hide3')"><img src="images/Posters/Movie3image"></span> </div>
</div>
</li>
他们正在切换的是这些:
<div id="hide2" style="display:none;">
<div id="VideoContainerDiv" class="mybox">
<video id="Movie1_Reel" width="580" height="326" controls preload="none">
<source src="Videos/movie1_Reel" type="video/ogg"></source>
<source src="Videos/movie1_Reel" type="video/mp4"></source>
</video>
</div>
</div>
</div>
2 回答
好吧,你可以在视频对象显示时调用play() .
http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#playing-the-media-resource
Webkit中存在一个已知错误,即使未设置
autobuffer
,也会导致视频自动缓冲 . 它目前已在Safari夜魇中修复(可能已在Chrome中修复,不太确定) .你可以做的就是为你的玩家创造一个"default"状态 . 在您想要开始缓冲视频文件之前,请不要物理创建
<video>
元素 . 例如,您可能会通过播放按钮(一些简单的图像和CSS)从视频中捕获屏幕截图 . 单击时,将使用带有<video>
元素的JS替换图像 .希望这可以帮助!