Проблема ( вероятно , это отчасти предположение) не preventDefault()
, но тот факт, что на вашей странице на мгновение меньше общего размера (точнее, 13 мс), изменитеанимация, поэтому она затухает, но не получает display: none;
для кадра, например:
$('#container').animate({ opacity: 0 }, 100, function(){
$('#container').removeAttr('class');
$('#container').addClass(r);
// Fade the container back in
$('#container').animate({ opacity: 1 }, 100);
});
Таким образом, ваша #container
имеет высоту 0
на мгновение, вызывая прокрутку страницырезервное копирование просто потому, что страница стала короче в целом.