如果视频缺少来源,如何用图像替换视频?
<div id="gameImage"><img id="img" src=""></div>
<div id="gameTrailer">
<video autoplay loop width="960" height="540" id="video">
<source src="" id="gameTrailer_window">
</video>
</div>
视频源通过AJAX附加,如下所示:
var videoSrc = data.gameTrailer;
var video_block = $('#video');
video_block.load();
$("#video").find("#gameTrailer_window").attr("src", videoSrc)
..但在某些情况下,var videoSrc
将等于null,这意味着不会显示任何视频。所以我认为显示图像的onError
- 函数(它将始终有可用的源)可以工作,但是没有源的视频元素似乎没有返回错误,因此具有以下功能:
$("#video").error(function () {
$(this).hide();
$("#gameImage").find("#img").attr("src", data.gameImage)
});
..不会开火。这可能与代码有关,我不是100%肯定。
在此之前,非常感谢任何正确方向的推动。
约翰
答案 0 :(得分:2)
为什么不在第一个函数中检查条件而不是编写另一个函数
if(videoSrc!=null){
$("#video").find("#gameTrailer_window").attr("src", videoSrc)
} else {
$("#gameImage").find("#img").attr("src", data.gameImage);
}
如果var不为null,那么视频src将会改变,否则图像src将会改变。