用错误的图像替换视频

时间:2016-05-04 09:45:34

标签: javascript jquery video

如果视频缺少来源,如何用图像替换视频?

<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%肯定。

在此之前,非常感谢任何正确方向的推动。

约翰

1 个答案:

答案 0 :(得分:2)

为什么不在第一个函数中检查条件而不是编写另一个函数

if(videoSrc!=null){
  $("#video").find("#gameTrailer_window").attr("src", videoSrc)
} else {
  $("#gameImage").find("#img").attr("src", data.gameImage);
}
  

如果var不为null,那么视频src将会改变,否则图像src将会改变。