Hello,
ich habe noch ein paar Möglichkeiten ausgetestet, wie man am besten den Slider-Event mittles XHR an den Server weitergeben kann.
element.change()
Der Eventlistener wird erst getriggert, wenn der Slider wieder losgelassen wird. Dadurch kann man kein zeitnahes Ein- oder Ausblenden durchführen. Die Anzahl der XHRs wird auf das Minimum reduziert
element.input()
Der Eventlistener wird bei jeder Berührung/Bewegung des Sliders getriggert. Dies führt zu einer extrom hohen XHR-Anzahl. Dies muss man für die Praxis irgendwie verhindern.
-
setTimeout() wie gezeigt, immer erst nach einer gewissen Zeit den XHR auslösen. Entweder, wenn länger keine Benutzerhandlung vorgelegen hat, oder in regelmäßigen Zeitabständen, solange Bedienungshandlung vorliegt
-
compareValues() nur bei entsprechender Änderung (if(Math.abs(oldValue - element.value) > 1) ... ) wird der XHR ausgelöst. Das führt zu einer relativ ausgeglichen Request-Salve, aber leider auch noch nicht zu einer feinen Auflösung.
-
disable_XHR() solange ein XHR noch läuft (XHR.onreadystatechange hat noch nicht getriggert), wird kein weiterer ausgelöst. Das führt dazu, dass die Leistungsfähigkeit der Gesamtapperatur Berücksichtigung findet. Die kann aber sehr schwanken.
Vermutlich muss man, wenn man es ernst nimmt, mehrere Möglichkeiten kombinieren.
Jedenfalls musste ich feststellen, dass das Verfahren (Mit Browser und XHR) für eine einigermaßen gleichmäßige Steuerung nicht geeignet ist.
Liebe Grüße
Tom S.
Es gibt nichts Gutes, außer man tut es
Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.