Browserfenster im Seitenverhältnis skalieren
pzy
- javascript
Hallo zusammen!
Ich versuche im Moment, ein javasqript zu schreiben, dass bei window.onresize
das Seitenverhältnis des Browserfenster beibehält. Ich habe schon einige Möglichkeiten ausgetestet, jedoch ohne Erfolg...
Hier ist mein aktuelles Script:
function Fensterweite () {
if (window.innerWidth) {
return window.innerWidth;
} else if (document.body && document.body.offsetWidth) {
return document.body.offsetWidth;
} else {
return 0;
}
}
function Fensterhoehe () {
if (window.innerHeight) {
return window.innerHeight;
} else if (document.body && document.body.offsetHeight) {
return document.body.offsetHeight;
} else {
return 0;
}
}
var AlteWeite = Fensterweite();
var AlteHoehe = Fensterhoehe();
var Faktor = AlteWeite / AlteHoehe;
function setFenstergröße() {
if (AlteWeite < Weite) {
WDiff = Weite - AlteWeite;
var NeueHoehe = AlteHoehe + (WDiff * 1/Faktor);
var NeueWeite = Weite;
}
else if (AlteWeite > Weite) {
WDiff = AlteWeite - Weite;
var NeueHoehe = AlteHoehe - (WDiff * 1/Faktor);
var NeueWeite = Weite;
}
if (AlteHoehe < Hoehe) {
WDiff = Hoehe - AlteHoehe;
var NeueWeite = AlteWeite + (WDiff * 1/Faktor);
var NeueHoehe = Hoehe;
}
else if (AlteHoehe > Hoehe) {
WDiff = AlteHoehe - Hoehe;
var NeueWeite = AlteWeite - (WDiff * 1/Faktor);
var NeueHoehe = Hoehe;
}
window.resizeTo(NeueWeite, NeueHoehe);
}
function groesse() {
Weite = Fensterweite();
Hoehe = Fensterhoehe();
setFenstergröße();
document.getElementById('comic').style.width = Weite + "px"; //wird in diesem Kontext nicht benötigt
document.getElementById('comic').style.height = (Hoehe - 120) + "px"; //wird in diesem Kontext nicht benötigt
}
$(document).ready(
function() {
groesse();
});
Mit freundlichen Grüßen,
PZY
Servus
$(document).ready(
function() {
groesse();
});
Deine Funktion "groesse" wird nur ausgeführt, wenn die Seite fertig geladen hat, nicht wenn der Benutzer die Fenstergröße ändert.
~~~javascript
function setFenstergröße() { ... }
Diese Funktion trägt außerdem einen sehr hässlichen Namen und ich spreche da nicht vom Denglisch.
Grüße
-1UnitedPower
@@1UnitedPower:
nuqneH
function setFenstergröße() { ... }
Diese Funktion trägt außerdem einen sehr hässlichen Namen und ich spreche da nicht vom Denglisch.
Sondern?
Qapla'
@@1UnitedPower:
nuqneH
function setFenstergröße() { ... }
Diese Funktion trägt außerdem einen sehr hässlichen Namen und ich spreche da nicht vom Denglisch.Sondern?
Zum Beispiel setFenstergroesse, um den bisherigen Namenskonventionen treu zu bleiben.
@@1UnitedPower:
nuqneH
Zum Beispiel setFenstergroesse, um den bisherigen Namenskonventionen treu zu bleiben.
Hm, die sind so suboptimal, dass man sie besser ändern als ihnen treu bleiben sollte. Wenn schon deutsch, dann richtig – mit Umaluten und ß.
Und Denglisch zu vermeiden oder Zusammenarbeit in einem internationalen Team zu erleichtern, spricht allerdings einiges für konsequent englische Bezeichner.
Qapla'
Wenn schon deutsch, dann richtig – mit Umaluten und ß.
Beim ersten Teil kann ich dir zustimmen beim zweiten nicht. Und zwar seit dem ich einmal in Frankreich arbeiten musste und mich auf der Tastatur blöd gesucht habe, bis ich mir alle Umlaute in die Zwischenablage kopiert habe.
Und Denglisch zu vermeiden oder Zusammenarbeit in einem internationalen Team zu erleichtern, spricht allerdings einiges für konsequent englische Bezeichner.
Dem stimme ich zu.
@@1UnitedPower:
nuqneH
Wenn schon deutsch, dann richtig – mit Umaluten und ß.
Beim ersten Teil kann ich dir zustimmen beim zweiten nicht.
Es war ein Einteiler. Richtig deutsch heißt mit Umlauten und ß.
Achso, du verweigertest die Zustimmung wegen des Tippfehlers?
Und zwar seit dem ich einmal in Frankreich arbeiten musste und mich auf der Tastatur blöd gesucht habe
Die Umschaltung des Tastaturtreibers sollte zum Handwerkszeug gehören.
Qapla'
@@1UnitedPower:
nuqneH
Wenn schon deutsch, dann richtig – mit Umaluten und ß.
Beim ersten Teil kann ich dir zustimmen beim zweiten nicht.Es war ein Einteiler. Richtig deutsch heißt mit Umlauten und ß.
Dann hab ich dich missverstanden. Es ging mir darum, dass man beim "richtigen Deutsch" keine Mischnamen verwendet. Statt "setFenstergröße" zum Beispiel "setzeFenstergröße" zu verwenden.
Achso, du verweigertest die Zustimmung wegen des Tippfehlers?
Nein.
Und zwar seit dem ich einmal in Frankreich arbeiten musste und mich auf der Tastatur blöd gesucht habe
Die Umschaltung des Tastaturtreibers sollte zum Handwerkszeug gehören.
Das hilft nur bedingt. Denn dann muss ich kontinuirlich ein Mapping zwischen tatsächlichem und virtuellem Tastaturlayout im Kopf haben. Das mag zunächst einfach klingen, aber versuch doch mal jetzt aus dem Stehgreif deine Tastatur ohne Hinzuschauen auf ein Blatt zu zeichnen.
-1UnitedPower
@@1UnitedPower:
nuqneH
Das hilft nur bedingt. Denn dann muss ich kontinuirlich ein Mapping zwischen tatsächlichem und virtuellem Tastaturlayout im Kopf haben.
Verstehe. Ich hab mich dran gewöhnt. Zwangsweise, da man mir immer wieder Rechner mit deutsch beschrifteter Tastatur andreht, ich aber einen US-Tastaturtreiber verwende.
aber versuch doch mal jetzt aus dem Stehgreif deine Tastatur ohne Hinzuschauen auf ein Blatt zu zeichnen.
□ □ □ □ □ …
Qapla'
zunächst einmal habe ich doch geschrieben, das dieses script bei window.onresize
im späteren html teil ausgeführt wird...
und zweitens:
anstatt über die bezeichnung meiner funktion/variabeln zu streiten, wär es viel besser, wenn ihr mir bei meinem problem helfen könntet.
Zu der ersten Frage von Encoder: Ja es handelt sich um ein Popup.
Mit freundlichen Grüßen
PZY
@@pzy:
nuqneH
anstatt über die bezeichnung meiner funktion/variabeln zu streiten, wär es viel besser, wenn ihr mir bei meinem problem helfen könntet.
Zu der ersten Frage von Encoder: Ja es handelt sich um ein Popup.
Du hättest dein Posting besser als Antwort auf Encoders plaziert, nicht irgendwo.
Qapla'
@@pzy:
nuqneH
anstatt über die bezeichnung meiner funktion/variabeln zu streiten, wär es viel besser, wenn ihr mir bei meinem problem helfen könntet.
Zu der ersten Frage von Encoder: Ja es handelt sich um ein Popup.
Du hättest dein Posting besser als Antwort auf Encoders plaziert, nicht irgendwo.
Qapla'
Bin neu im Forum und komm auch mit der Oberfläche nicht so wirklich klar ;)
@@pzy:
nuqneH
Bin neu im Forum und komm auch mit der Oberfläche nicht so wirklich klar ;)
Vielleich schafft der Artikel Foren und Boards Klarheit.
Qapla'
PS: Zitiere bitte sinnvoll, nicht alles.
[latex]Mae govannen![/latex]
Bin neu im Forum und komm auch mit der Oberfläche nicht so wirklich klar ;)
Wenn du vorhast, hier längerfristig weiter mitzumachen: Du kannst einige Anpassungen vornehmen (bspw. Sortier-Reihenfolge, Ansicht als Baumstruktur oder flache Liste, Farben und vieles mehr), wenn du dich registrierst
Stur lächeln und winken, Männer!
Kai
Ich versuche im Moment, ein javasqript zu schreiben, dass bei
window.onresize
das Seitenverhältnis des Browserfenster beibehält. Ich habe schon einige Möglichkeiten ausgetestet, jedoch ohne Erfolg...
Du weißt dass deine Besucher dann evtl. böse Mails schreiben, weil du ihnen ihr Browserfenster vermurkst?
Dafür solltest du schon gute Gründe haben. Ist das in einem Popupfenster? Den normalen Browser würd ich tunlichst in Ruhe lassen.