XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Javascript & Ajax (http://xhtmlforum.de/forumdisplay.php?f=83)
-   -   Video soll nur abspielen, wenn DIV eingeblendet ist (http://xhtmlforum.de/showthread.php?t=73512)

Fanello 04.06.2018 18:27

Video soll nur abspielen, wenn DIV eingeblendet ist
 
Liebe XHTML-Gemeinde

Ich bin an einem kleinen Studium-Projekt dran.
https://www.james-3.com/index.php?article_id=10

Diese Seite besteht aus vier Divs, die jeweils so gross sind wie das Browserfenster. Zwei Divs davon haben ein Video, das ebenfalls auf die gesamte Browserfenster-Grösse dargestellt wird.
Ein anderes Div hat im Moment noch ein Bild drin von einer Fake-Bankseite. Später sollen da dann die Beträge mit einem Counter (z.B. https://codepen.io/jakubtursky/pen/vEwZop ) auf 0 zurück.

Ist es nun möglich, dass das aktuell sichtbare Video stoppt, sobald zum nächsten Div gescrollt wird? Wenn dann da auch ein Video ist, soll dieses Video abgespielt werden. Wenn da der Counter ist, soll er starten.
Sobald zum nächsten Div gescrollt wird, soll das Video an der zuletzt gestoppten Stelle weitermachen (oder der Counter soll weiterzählen).

Ich kenne mich mit Javascript nicht aus, lerne aber gerne dazu. Daher wäre ich froh, wenn ich wenigstens einen Hinweis bekommen könnte, wonach ich suchen soll.

Danke :)

cloned 05.06.2018 08:18

Schreckliche Seite, ein perfektes Negativbeispiel dafür, dass man das Scrollen des Users nicht beeinflussen soll. Das springt unkontrolliert herum und ich würde auf der Seite keine 5 Sekunden bleiben wollen.
Aber genug OT: Dein Problem lässt sich hervorragend mit intersectionObserver lösen, damit kannst du feststellen, wenn ein Element den Browserbereich verlässt, betritt, oder zu x% sichtbar ist.
https://developer.mozilla.org/en-US/...n_Observer_API

Sobald dein div also zu 100% sichtbar ist dann spielst du das Video drinnen ab, ist es nicht mehr sichtbar stoppst du es einfach. (mit video.play() und video.pause() )

Fanello 05.06.2018 09:43

Zitat:

Zitat von cloned (Beitrag 552450)
Schreckliche Seite, ein perfektes Negativbeispiel dafür, dass man das Scrollen des Users nicht beeinflussen soll. Das springt unkontrolliert herum und ich würde auf der Seite keine 5 Sekunden bleiben wollen.
Aber genug OT: Dein Problem lässt sich hervorragend mit intersectionObserver lösen, damit kannst du feststellen, wenn ein Element den Browserbereich verlässt, betritt, oder zu x% sichtbar ist.
https://developer.mozilla.org/en-US/...n_Observer_API

Sobald dein div also zu 100% sichtbar ist dann spielst du das Video drinnen ab, ist es nicht mehr sichtbar stoppst du es einfach. (mit video.play() und video.pause() )

Vielen Dank für den Tipp mit intersectionObserver.

Zur Seite: wie gesagt ist es ein Studienprojekt. Der User soll da nicht navigieren oder scrollen können. Es wird an einer Ausstellung gezeigt und da wird ein Monitor aufgestellt der das dann zeigt ;)


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:30 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023