iOS 6.x приостанавливает все таймеры событий в ответ на сенсорные события, такие как прокрутка, и имеет тенденцию не запускать все таймеры снова после завершения события. Это хорошо известная ошибка iOS 6, которая очень раздражает. Это в значительной степени нарушает параллакс и прочее. Некоторые люди прибегают к созданию собственных функций прокрутки.
Вот еще один StackOverflow на ту же тему:
Safari для iOS 6, setInterval не срабатывает
и еще:
setInterval делает паузы в iphone / ipad (мобильный Safari) во время прокрутки
и вот самое близкое к нему сообщение об ошибке (Apple не публикует отчеты об ошибках, чтобы поддерживать иллюзию совершенства, поэтому разработчики создали свой собственный сайт ошибок): http://openradar.appspot.com/12756410
Этот фрагмент кода разблокирует таймеры, которые были повреждены / потеряны / уничтожены iOS во время прокрутки страницы: https://gist.github.com/ronkorving/3755461
Это еще одна попытка исправить зависание: Функция событий iOS 6 js не вызывается, если в ней есть setTimeout
К сожалению, вы ничего не можете сделать для запуска событий при прокрутке страницы. Например, исчезнуть обратная ссылка при прокрутке страницы. Когда дело доходит до прокрутки, iOS6 не в состоянии потереть животик и погладить его по голове. (iOS5 работает нормально, кстати. Это регрессия)