Es gibt eine oft-cited blog post geschrieben von John Resig im Januar 2011, die das Anhängen von Handlern an das Fenster Scroll-Ereignis abrät.
Stattdessen sagt die gemeinsame Weisheit Handler zu drosseln, zum Beispiel:
$(window).scroll(_.throttle(myScrollHandler, 250));
In meiner letzten Prüfung, die UI Antwort viel glatter ist, wenn der Handler direkt mit dem Scroll-Ereignis verbunden ist. Das Drosseln des Handlers verursacht eine sichtbare Verzögerung.
Haben moderne Browser dieses Problem gelöst? Gibt es Test- oder Browserkompatibilitätsdaten?
feuert immer noch viele Male pro Sekunde in den meisten Browsern – charlietfl
'Throttling the handler verursacht eine sichtbare Verzögerung "- Weil Sie mehr Ereignistreffer ohne Drosselung bekommen. Wenn Ihr Weg mit vernünftiger Hardware und einigermaßen modernen Browsern gut funktioniert, dann sollten Sie es unbedingt tun. Aber respektiere jene Leute, die keine modernen Browser oder Computer haben. Siehe auch http://benalman.com/projects/jquery-throttle-debounce-plugin/ –
Sie können auch versuchen, die Verzögerung etwas zu reduzieren. Bei 250 wird Ihr .scroll-Ereignis nur vier Mal pro Sekunde ausgeführt. –