Dodałem do repozytorium druga wersje skryptu sticky buttons, poprawki zawierają:
- poprawione zachowanie w przypadku przewijania kontenera
- dodanie rekurencyjnego wyliczania animacji po zjechaniu z guzika
- animacja po zjechaniu jest tylko „odtwarzana”, klatka po klatce, co powinno przyspieszyć jej przetwarzanie
- poprawione zachowanie w przypadku złapania guzika
- poprawione zachowanie w przypadku przejechania po liście guzików (problem z płynnością animacji)
Do tego cała masa zmian w kodzie – można powiedzieć, że skrypt jest napisany od zera. Zawiera ujednolicony system obsługi układu współrzędnych poprzez klasę Point, która zwiera metody manipulujące współrzędnymi x,y odpowiednio. Ona także unifikuje jquery’owe left/right oraz pageX/pageY z eventa.
Dopisałem także funkcyjkę bind służącą wiązaniu parametrów funkcji do późniejszego wykorzystania. W przypadku zakończenia animacji, wysyłane jest zdarzenie, którego obsługa powoduje wygaszenie wątku animacyjnego jak również wykrycia zmiany położenia elementu w przypadku np. scroll’owania zewnętrznego kontenera i zakutalizowania swojej pozycji.