2016-05-04 32 views
0

Wie ersetze ich ein Video durch ein Bild, wenn dem Video eine Quelle fehlt?Ersetzen Sie das Video durch ein fehlerhaftes Bild

<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> 

Die Quelle, um das Video wird über AJAX wie folgt angehängt:

var videoSrc = data.gameTrailer; 
var video_block = $('#video'); 
video_block.load(); 
$("#video").find("#gameTrailer_window").attr("src", videoSrc) 

..aber in einigen Fällen wird var videoSrc null gleich, was bedeutet, dass kein Video oben zeigen. Also habe ich ein onError -function Anzeigen eines Bildes statt (das ist immer eine Quelle haben vorhanden) funktionieren würde, aber ein Video-Element ohne Quelle scheint nicht einen Fehler zurückkommen, dafür die folgende Funktion:

$("#video").error(function() { 
    $(this).hide(); 
    $("#gameImage").find("#img").attr("src", data.gameImage) 
}); 

..will nicht feuern. Es könnte etwas mit dem Code los sein, ich bin nicht 100% sicher.

Jede Art von Nudge in die richtige Richtung wird sehr geschätzt werden, danke im Voraus.

John

Antwort

2

, warum Sie den Zustand in der ersten Funktion nicht aktivieren stattdessen eine andere Funktion des Schreibens

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

Wenn var nicht null ist, dann wird Video src anderes Bild ändern src wird sich ändern.

+0

Weil ich wirklich nicht gut darin bin. Danke, obwohl das ein Problem gelöst hat, kam etwas anderes auf. Die src für die Videos werden im Code ersetzt (inspect-Element), aber das Video ändert sich nicht/das Video ist nur ein weißes Feld. –

Verwandte Themen