Extrem ruckeliges Verändern der Fenstergröße verhindern --> flüssige Animation!

  • Hallo!
    Entwickle derzeit eine Chrome-App und es läuft eigentlich echt ganz gut, nur da besteht ein kleines Problem. An einer Stelle möchte ich das aktive Fenster vergrößern / verkleinern in der Breite, aber das läuft mit einem slider (input type="range") extrem unrund!
    Chrome-Extension zum herunterladen und anschauen: https://drive.google.com/file/…kMHdSbG8/edit?usp=sharing
    In der App könnt ihr das unten beschriebene Problem mal anschauen, damit ihr wisst was ich meine. Schaut euch den Unterschied an zwischen manuellem Fenster größer kleiner machen und dem Slider..


    Relevanter Code:

    HTML
    1. <input id="viewsize" type="range" min="350" max="1300" value="400" step="1">


    JavaScript
    1. var slider = document.getElementById("viewsize");
    2. slider.oninput = function () {
    3. window.resizeTo( slider.value, 400 );
    4. };


    Wie könnte man das Chrome-App-Fenster elegant größer und kleiner werden lassen?


    Vielen Dank im Voraus!

  • Hey!
    Fehler gefunden!


    Wenn sich das Fenster durch den Slider in der Größe verändert, ändert sich die Position des Sliders und es werden permanent neue Werte übergeben anstatt schrittweise die Größe verändert. Verstehst du wie ich das meine? ;)


    Mal schauen wie ich das löse! Wenn der Slider starr an der linken Seite steht funktioniert es nämlich gut ;)

  • wolf : cottton : (Habe nochmal editiert falls ihr es nicht gesehen haben solltet... )


    Das Problem ist, dass wenn man das Fenster vergrößert/verkleinert die rechte Kante des Fensters verschoben wird. -> Mit zentrieren wird das nichts, da es das zentrierte so immer weiter nach rechts wegschiebt beim vergrößern ;)


    Nur wenn es dauerhaft in der linken Ecke fixiert ist aber das schaut sehr doof aus. Wenn ich das Fenster doch nur fixieren könnte, damit es sich gleichmäßig nach rechts und links vergrößert/verkleinert ...



    *EDIT:*

    JavaScript
    1. window.moveTo(
    2. screen.width/2 - window.innerWidth/2,
    3. screen.height/2 - window.innerHeight/2
    4. );


    Hab damit mal rumgespielt während der Slider in der Mitte ist .. mit dem Ziel das Fenster ist immer exakt in der mitte und der slider bleibt auch in der Mitte .. leider keine so tollen Resultate .. zwar besser aber immer noch laggy...


    * EDIT 2:*


    Das funktioniert, aber leider nicht so ganz toll. Läuft eben nicht soo flüssig. :/ --> https://docs.google.com/file/d…kNjxeYktNNmhfNm1EUTA/edit