mzubala / jquery-custom-scrollbar

189 stars 102 forks source link

animate parameter for programmatic scrolling functions #15

Closed montoriusz closed 10 years ago

montoriusz commented 10 years ago

Hi, I've added possibility to call scrollTo functions family with parameter specifying whether to animate and also a small fix in Scrollbar.scrollToElement(). Cheers

mzubala commented 10 years ago

Hey

Thaks for this change! I was wondering if this parameter should be added ;) Maybe it would be better to do it globaly upon plugin initialization? Right now (before your change) we have animationSpeed param which by equals 300. When you set it to 0 instead 300, there will be no animation. Now there is a question if one might want to have some calls with and some without the animation. If that's the case then your change makes sense. On the other hand animationSpeed could be editable after plugin has been initialized and that would also solve it. I don't now myself ;) What do you think?

Pozdro

montoriusz commented 10 years ago

Cześć, na wstępie dzięki za sam plugin oraz szybką odpowiedź. Zmianę wprowadziłem na własną potrzebę, tzn. raz chcę wywołać scroll z animacją a raz nie. Dokładnie sytuacja u mnie wygląda tak, że w scrollowanym div'ie mam pewne menu z wieloma pozycjami i w momencie kliknięcia w jedną z pozycji zapamiętywana jest (w tym przypadku w sessionStorage) pozycja scrolla a po załadowaniu nowej strony jest ona przywracana - w tej sytuacji animacja jest niepożądana, ale w pozostałych przypadkach tak.

Początkowo szukałem możliwości edycji opcji podanych przy inicjalizacji, ale zmiana innego parametru niż animationSpeed to już grubsza sprawa (i mi osobiście w tej chwili nie potrzebna), więc poszedłem inną drogą i zasugerowałem się http://flesler.com/jquery/scrollTo/. Tam, na wzór podobnych funkcji w samym jQuery, prędkość animacji jest parametrem funkcji wywołującej scrollowanie. Idąc dalej tym tropem można by było zamiast parametru bool'owskiego przekazywać prędkość, a w przypadku jego braku używać wartości podanej przy inicjalizacji.

Teraz myślę jednak, że faktycznie wystarczy dodać funkcję setAnimationSpeed i będzie z głowy :)

Mimo wszystko pamiętaj o poprawce w Scrollbar.scrollToElement(), bo przy podaniu stringa się wywala.

Pozdro!

W dniu 26 września 2013 17:46 użytkownik Maciej Zubala < notifications@github.com> napisał:

Cześć

Na wstępie dzięki za zmianę! Zastanawiam się czy ten parametr który dodałeś pwinien być dodany ;) Czy moze lepiej nie zrobić tego globalnie jak inicjalizujesz plugin? Już teraz (przed Twoją zmianą) jest parametr animationSpeed. Domyślnie ma wartość 300. Jak wrzucisz 0 zamiast 300, to nie będzie animacji. Tylko teraz pytanie czy ktoś może chcieć mieć część wywołań z animacją, a część bez. Jeśli tak to Twoja zmiana ma sens. Z drugiej strony może lepiej dodać opcję edycji animationSpeed. Sam już nie wiem ;) Jak sądzisz?

Pozdro

— Reply to this email directly or view it on GitHubhttps://github.com/mzubala/jquery-custom-scrollbar/pull/15#issuecomment-25178746 .

Paweł Motofa

mzubala commented 10 years ago

I decided to go with the setAnimationSpeed method. I also pulled your fix to scrollToElement. Thanks!