Есть конструкция:
newMargin = parseInt($("#win").css("marginLeft"));
newMargin = Math.floor(newMargin - screen_x);
newMargins = newMargin.toString() + "px";
$("#win").animate({"marginLeft": newMargins},{duration:600, easing: 'easeInOutQuint'});
screen_x содержит текущую ширину клиентской области браузера (число).
Смысл конструкции: контейнер win сдвигается влево относительно своей текущей позиции на величину screen_x. Конструкция повешена на клик кнопки и по задумке выполняется пошагово.
Столкнулся с тем что при последовательном вызове (щелкая по кнопке) этой консутркции, когда величина newMargin доходит до -11000px (т.е. примерно 7-8 щелчок по кнопке) происходит, походу, обнуление текущего значения marginLeft контейнера win. Таким образом анимация идет не от предыдущего marginLeft а от нуля и до нового значения marginLeft. Первые 7-8 шагов выполняются нормально, а потом начинается веселая карусель)
Не могу понять в чем дело. Есть ли какие-либо ограничения на величину marginLeft в CSS, JS или у функции animate() JQuery?