Артур Черешнюк: я предложил иное поведение. В вашем примере меню отправлялось на место постфактум и "своим ходом". В моём примере меню едет вместе с контентом, а достигая верхней границы видимости, прилипает к ней. Ни рывков, ни разъезжаний. Если Вам нужно настраивать более сложную анимацию, то посмотрите вот сюда: easings.net/ru Эти функции можно использовать и как с CSS (сам не разбирался), и как с этим jQuery плагином: gsgd.co.uk/sandbox/jquery/easing — сам буквально вчера этим занимался.
Я так и делаю для десктопов. Но браузер придётся спрашивать, ибо для мобильных устройств требуется точная геолокация. В зону риска попадают устройства, которые по каким-либо причинам не смогут предоставить аппаратные геоданные. Процент небольшой, но досадный.