2016-05-15 9 views
1

Ich benutze ein Video div auf einer Webseite versteckt und um seine Sichtbarkeit mit Javascript keypress. Wenn die Seite geladen wird, auch wenn das Div ausgeblendet ist, kann ich immer noch den Ton hören. 1. Ist es möglich, den Ton zu dämpfen, wenn das div versteckt ist? oder 2. ist es möglich, die Wiedergabe zu starten/zu stoppen, wenn ich div Sichtbarkeit umschalten?Mute versteckte div (video) html5

$(document).keypress(function(e) { 
    var key = e.which; 
    if (key == 116) { 
    // if the user pressed 't': 
    $('div').toggle(); 
    } 
}); 

Vielen Dank im Voraus!

+0

stellen Sie sicher, dass Ihr Video-Element nicht Autoplay aktiviert hat, und/oder auf stumm stellen. Wenn Sie den div umschalten, verwenden Sie .play, um das Video zu starten, und .stop, um es beim Ausblenden des Elements zu stoppen. – Offbeatmammal

Antwort

1

Um eine vollständige Antwort geben, sollten Sie sicherstellen, dass Ihr <video /> Tag keinen autoplay Attribut hat, es zu halten, sobald die Seite geladen wird aus starten, und ihm ein id Attribute geben, so dass Sie darauf zugreifen können. Dann können Sie einige grundlegende Javascript verwenden, wenn ein Benutzer die Sichtbarkeit wechselt Start/Pause-Wiedergabe:

Um zu spielen, können Sie:

document.getElementById('your-video-id').play(); 

Und pausieren:

document.getElementById('your-video-id').pause(); 

So Ihre keypress Funktion könnte dann werden:

+0

Works. Gibt es eine Möglichkeit, das Video so einzustellen, dass es immer von Anfang an abgespielt wird? –

+0

Sie sollten die currentTime -Eigenschaft des Videos auf 0 setzen können, nachdem Sie es beim Umschalten angehalten haben. Also 'else {video.pause(); video.currentTime = 0; } ' –

+0

Danke! funktioniert super –