Live-Resize-Event

  • JavaScript

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Artentus.

    Live-Resize-Event

    Moin :)

    Ich suche eine Möglichkeit ein Event Live auszuführen. Ich möchte die Schriftgröße automatisch beim vergrößern/verkleinern des Fensters neu berechnen.
    Das OnResize-Event schlägt bei mir (Google Chrome) aber nur beim neuladen der Seite an. Wie vorgehen?

    Grüße
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
    Überschreibe Methoden vom ComponentAdapter.
    Hierfür gäbe es den ComponentListener, aber das ist die bessere Alternative. Falls du es trotzdem willst:
    java.sun.com/j2se/1.4.2/docs/a….awt.event.ComponentEvent)

    Die haben die Methode componentResized.
    Aber normal ginge das doch auch im LayoutManager, oder?!
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Achso. Falsch gelesen. Sorry
    Edit:// stackoverflow.com/questions/79…on-changing-window-resize
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Da muss was anderes faul sein. Google Chrome kennt das Onresize-Event - und nicht nur bei neuladen.
    jsbin.com/oyuzed
    Wenn du mir sagst, was die "Konsole" sein soll, dann kann ichs versuchen. Auf
    der Seite ändert sich bei Resize nichts.

    //Edit: Totalfail. DIESE Konsole. Also ja, er zeigt das Resizen an. Wieso gehts bei mir im Projekt also nicht?

    Spoiler anzeigen

    Quellcode

    1. window.onload = intialize();
    2. window.onresize = handleResize();
    3. function setSizes()
    4. {
    5. var eightpercentpx = document.body.clientHeight / 100 * 8;
    6. var footer = document.getElementById("dropfooter");
    7. footer.style.lineHeight = eightpercentpx + "px";
    8. footer.style.fontSize = eightpercentpx / 2 + "px";
    9. var header = document.getElementById("header");
    10. header.style.lineHeight = eightpercentpx + "px";
    11. header.style.fontSize = eightpercentpx / 2 + "px";
    12. }
    13. function handleResize()
    14. {
    15. alert("abc");
    16. setSizes();
    17. }


    Grüße
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
    Es lag scheinbar an den Klammern hinter dem "handleResize".
    Also statt "= handleResize();" mussich nu "= handleResize;" nehmen. Kann mir jemand erklären warum?

    Grüße
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
    Also ich kenne dieses Verhalten von C/C++/C#, VB macht es leider falsch. In diesen Sprachen enthält der Methodenaufruf immer Klammern am Ende, lässt man diese weg, so spricht man den Functionpointer der Methode an. Umgekehrt ist es natürlich dann genauso, wenn ein Functionpointer erwartet wird, dann kann man nicht mit einem Aufruf kommen.
    Von Funktionspointern habe ich leider keine Ahnung, und eine Google-Suche hilft mir auch nicht wirklich.
    Kannst du das kurz erläutern?

    Grüße
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
    Also, ein Event ist ja im Prinzip nichts anderes als ein Delegat, und ein Delegat ist eine Liste von Funktionspointern.
    Ein Funktionspointer zeigt auf eine Funktion oder Methode, damit kann man dann Methoden/Funktionen aufrufen, die man nicht kennt, sondern die z.B. als Parameter übergeben wurden oder ähnlich. Wenn du ein Event auslöst, dann rufst du im prinzip nur alle Methoden auf, für die Ein Funktionspointer im Delegaten vorhanden ist.
    In VB holst du dir den Funktionspointer mit dem AddressOf-Shlüsselwort. In den meisten anderen Sprachen ist der Methodenname ohne Klammern der Funktionspointer (also mit anderen Worten der Name steht für eine Adresse), willst du sie aufrufen müssen die Klammern unbedingt dran.
    Der Begriff Functionpointer ist mit .Net nicht geläufig, da dort eben nur Delegaten verwendet werden (diese sind halt die nächste Generation Functionpointer sozusagen). Im Lovlevel (C++) ist sowas jedoch praktisch Grundwissen, ein komplettes Tutorial gibts z.B. hier.