var ilosc=document.getElementById("#ilosc_rzutow").value;
Bez #. Swoją drogą, jak już używasz jQuery - to po prostu:
var ilosc = $("#ilosc_rzutow").val();
Ogólnie cały problem polega na tym, że wszystkie wartości z inputów są pobierane jako stringi. Widać funkcja animate nie dopuszcza do rzutowania argumentów, więc trzeba to zrobić przed ich wysłaniem. Skorzystaj z funkcji parseInt na zmiennej ilosc.
Przekopałem się trochę przez jquery-2.2.2.js, oto co można znaleźć w 6854 linijce:
opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ?
opt.duration : opt.duration in jQuery.fx.speeds ?
jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;
Jeśli czas_trwania nie jest liczbą i nie jest elementem obiektu jQuery.fc.speeds, który wygląda tak:
jQuery.fx.speeds = {
slow: 600,
fast: 200,
// Default speed
_default: 400
};
to przyjmuje wartość _default. Więc czas trwania animacji może być tylko liczbą, "slow", "fast" lub "_default" - wszystko inne zostanie zamienione na 400.
W sumie to samo podałaby Ci dokumentacja (jQuery animate duration), ale mi się nudzi : P