Dauerhafte Abfrage der Orientation

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Werbung

Jetzt auf elektrisches Fahren umstellen, Umwelt schonen und 1.500km kostenlosen Strom von Tesla bekommen. https://ts.la/carsten15473.

Christian_01

Mitglied
9 Februar 2017
42
0
6
23
Hallo Leute,

ich möchte ganz gerne eine dauerhafte Abfrage der Orientation des Endgerätes, z.B. ob sich das IPhone in normaler Position befindet oder es gedreht worden ist.
Das ganze möchte ich mit einer If-Abfrage verknüpfen:

if (location.hash=="#page2" && orientation=="landscape" ){
function();
}

Wie kann ich nun die Orientation dauerhaft abfragen und in der Variable "orientation" abspeichern und die if-Abfrage danach ausführen?
Ich hab mir schon Gedanken über eine Schleife gemacht, doch wenn ich eine Schleife ausführe muss dies eine Endlosschleife sein und dann lädt die Seite nicht... :(
Ich denke das es dennoch etwas ähnliches wie eine Schleife sein muss...
Ich hoffe ihr könnt mir helfen, vielen Dank schonmal im voraus.

Gruß Christian
 

Sempervivum

Senior HTML'ler
18 Oktober 2016
1.437
285
83
66
Ich nehme an, mit "dauerhaft" meinst du, dass die Variable auch nach dem Laden der Seite laufen aktualiert wird?
Wie kann ich nun die Orientation dauerhaft abfragen und in der Variable "orientation" abspeichern und die if-Abfrage danach ausführen?
Ich hab mir schon Gedanken über eine Schleife gemacht, doch wenn ich eine Schleife ausführe muss dies eine Endlosschleife sein und dann lädt die Seite nicht... :(
Ich denke das es dennoch etwas ähnliches wie eine Schleife sein muss...
Ja, so etwas gibt es: Informiere dich über setInterval().
Und wie Du die Orientierung ermittelst, kannst Du hier nachlesen:
https://stackoverflow.com/questions/4917664/detect-viewport-orientation-if-orientation-is-portrait-display-alert-message-ad
Ich empfehle, die zweite Antwort mit 75 upvotes zu nehmen.
 

Sailor

Aktives Mitglied
14 Juli 2017
402
46
28
Vielleicht wäre es sinnvoll, wenn man wüsste, was denn diese 'function()' machen soll und ob es wirklich gewollt dass, dass diese if-Abfrage permanent ausgeführt werden soll und somit diese function() sich ständig neu aufruft.
 

LeCub

Aktives Mitglied
28 Juni 2015
355
39
28
Ich denke mal, dass du reagieren willst, sobald sich die Orientierung ändert? Sofern dies der Fall ist, könntest du ein Event auf die Größe des Viewports setzen (Beispiel: https://codepen.io/jannisrohden/pen/bRZRPN), da bei einem Orientierungswechsel sich die Größe des Viewports ändert.
 

Christian_01

Mitglied
9 Februar 2017
42
0
6
23
Es soll letztendlich eine Webanwendung werden. Dabei habe ich einen Kopf vorin das Firmenlogo ist, Homebutton und und und... der Kopf ist auf jeder Seite genau gleich, lediglich die Inhalte werden nachgeladen.

Es soll nun etwas berechnet werden, dazu werden die Parameter mittels input-Felder aufgenommen und im JavaScript verarbeitet. Der Script erzeugt auf der nächsten Seite dann eine Tabelle. Wenn ich das Endgerät drehe soll der Kopf, sprich Logo, Buttons usw. ausgeblendet werden, damit die Tabelle größer erscheint und besser lesbar ist. Wenn ich nun zurück drehe soll der Kopf wieder da sein.
Das der Kopf ausgeblendet wird soll nur auf der einen Seite sein..deshalb auch Location.hash...
 

Tronjer

Moderator
Team
Moderator
8 Oktober 2010
5.121
443
83
Berlin
Es ist auf jeden Fall eine CSS-Aufgabe. location.hash könntest du vewenden, um dynamisch CSS-Klassen zu adden.
 

LeCub

Aktives Mitglied
28 Juni 2015
355
39
28
Das klingt für mich danach, als könntest du auch einfach mit Mediaqueries arbeiten. Setz doch einfach ein Mediaquery für das Panorama und verändere in diesem das Aussehen des Kopfes. Da brauchst du gar kein Javascript, wenn ich dich richtig verstehe