Ich versuche play
/pause
und ended
Ereignisse zu binden, mit jQuery, aber es gibt ein Problem:Bind Play/Pause/Ended Funktionen HTML5-Video mit jQuery
Wenn ich einen Rechtsklick auf das Video und wählen Sie Wiedergabe oder Pause Die Symbole ändern sich korrekt. Wenn ich auf die Wiedergabetaste klicke, ändert sich die Wiedergabe in Pause, aber wenn ich auf die Pause-Schaltfläche klicke, um das Video fortzusetzen, ändert sich die Wiedergabe nicht.
Kann mir jemand sagen, wo ich falsch liege?
Hier ist mein Code:
var PlayVideo = function() {
if ($('#video').attr('paused') == false) {
$('#video').get(0).pause();
} else {
$('#video').get(0).play();
}
};
$('#playbtn').click(PlayVideo);
$('#video').click(PlayVideo);
$('#video').bind('play', function() {
$('.playbtn').addClass('pausebtn');
});
$('#video').bind('pause', function() {
$('.playbtn').removeClass('pausebtn');
});
$('#video').bind('ended', function() {
$('.playbtn').removeClass('pausebtn');
});
CSS:
.playbtn {
display: block;
width: 32px;
height: 32px;
margin-left: 10px;
background: url('../images/play.png') no-repeat;
opacity: 0.7;
-moz-transition: all 0.2s ease-in-out; /* Firefox */
-webkit-transition: all 0.2s ease-in-out; /* Safari and Chrome */
-o-transition: all 0.2s ease-in-out; /* Opera */
transition: all 0.2s ease-in-out;
}
.pausebtn {
display: block;
width: 32px;
height: 32px;
margin-left: 10px;
background: url('../images/pause.png') no-repeat;
opacity: 0.7;
-moz-transition: all 0.2s ease-in-out; /* Firefox */
-webkit-transition: all 0.2s ease-in-out; /* Safari and Chrome */
-o-transition: all 0.2s ease-in-out; /* Opera */
transition: all 0.2s ease-in-out;
}
@ m90-Vielen Dank für die Erwähnung.Es ist ein Tippfehler.So, wie ändere ich das Symbol, nachdem das Video endet.Wenn nach dem Klicken auf Play Btn es ändert sich aber wieder nicht umschalten. – coder
Ich habe mit meinem CSS-Teil aktualisiert, wo ich Symbole hinzufüge. – coder
@DotNetter Abgesehen von der Tatsache, dass Sie die zweite Klasse auf die 'background:' Zeile reduzieren können (der Rest ist gleich), scheint das CSS in Ordnung zu sein. Haben Sie überprüft, ob a. das 'beendete' Ereignis feuert wirklich und b. Wenn die neue Hintergrundregel nicht von einem anderen Stil überschrieben wird? – m90