Потеря фокуса фиксированной навигации в мобильном safari с iOS5

#jquery #focus #ios5 #mobile-safari #fixed

#jquery #фокус #ios5 #mobile-safari #исправлено

Вопрос:

Я нахожусь в процессе оптимизации клиентского веб-сайта для мобильного safari (iPad 2 и iPhone 4) и сталкиваюсь с проблемой использования статического меню. Я читал, что в последней версии iOS 5 эта позиция: исправлена; теперь поддерживается в мобильном safari. Однако при нажатии на любую из навигационных ссылок в верхнем меню навигации я теряю фокус на всем меню, пока пользователь снова не начнет вручную прокручивать страницу. Я использую комбинацию плагинов jQuery .scrollTo и .localScroll для достижения эффекта плавной прокрутки, в то время как меню навигации остается фиксированным в верхней части страницы.

Есть ли простой способ восстановить фокус меню навигации после нажатия на ссылку и завершения анимации прокрутки?

Чтобы увидеть проблему в действии, пожалуйста, посетите URL, указанный ниже. Пожалуйста, протестируйте на iPhone или iPad под управлением iOS 5, чтобы получить объясненные результаты.

http://www.go2mktg.com

Любая помощь с этой ошибкой была бы очень признательна. Заранее спасибо!

Комментарии:

1. опубликованный вами веб-сайт, похоже, теперь работает нормально. не могли бы вы поделиться своим решением? спасибо

Ответ №1:

@xon1c. Я проверил страницу @ negrelja и увидел несколько плагинов (http://www.go2mktg.com/js/iscroll.js , в частности), который, казалось, решил проблему, но я нашел другое решение, добавив 1 пиксель к высоте тела. Я не видел никаких проблем с перескакиванием страниц, поскольку полоса прокрутки не видна, если вы не перемещаете документ пальцем.

Я запустил приведенный ниже код в функции обратного вызова завершения в плагине плавной прокрутки, который я использую. (библиотека jQuery, протестирована на iPad iOS5)

     var newBodyHeight = $('body').height()   1;

    $('body').css({
        height: newBodyHeight
    });