Изначально, никто не знает размеры вашего блока, исходя из этого и дергается анимация. Вы можете установить к примеру ширину в процентах, что вполне логично, ведь оглавление не может быть больше основного текста. Так же, можно добавить код, который будет вычислять ширину области при загрузке и далее устанавливать ее для блока, что позволит корректно выполнять анимацию.