Я только что закончил реализацию этого на Android (2.2 и 3.2) и на iphone (не ipad) для правильной работы scrollview, вам нужно включить файл css и jquery замедление скрипт.
Сценарии должны быть включены в следующем порядке:
- 1010 * JQuery *
- jquery.mobile
- jquery.easing
- jquery.mobile.scrollview
- Scrollview
Файл css дает вам полосы прокрутки, jquery.easing дает плавную анимацию (сам по себе впечатляющий проект), jquery.mobile.scrollview выполняет тяжелую работу, scrollview очищает страницу и добавляет достаточно разметка для просмотра прокрутки.
Я уверен, что мне не нужно говорить вам, что это «Экспериментально» по какой-то причине (причудливое поведение при прокрутке списка просмотра, оно также лишает возможности нажимать кнопки и текстовые области в браузере Chromium - Я не тестировал другие браузеры), однако обнаружил, что на мобильных устройствах с ним очень мало проблем Мне действительно нравится, что это позволяет мне постоянно держать вкладки вверху страницы. Вложение многих скролл-обзоров тоже довольно круто.
Не могу сказать, что заметил какие-либо проблемы с функцией toggleClass, однако это может быть связано с просмотром прокрутки и добавлением разметки.
ПРИМЕЧАНИЕ. Начиная с самой последней версии jQuery mobile rc2, кнопки и ввод текста должны работать.
EDIT
Начиная с jQuery Mobile 1.1.0, рекомендуется использовать фиксированные заголовки с использованием атрибута data-position="fixed"
в верхнем или нижнем колонтитуле и полностью удалять scrollview.
Я попробовал это сам, и он работает намного лучше (для Android 2.2+ и iOS5 - ОС BlackBerry не проверялась мной, но в блоге утверждается, что она должна работать для BB7). Он работает быстрее и плавнее, чем решение js, и содержит меньше графических ошибок. Обязательно удалите все лишние js, css и все ссылки на data-scroll
, поскольку это мешает / нарушает все.
Для неподдерживаемых версий и ОС вам все еще может понадобиться scrollview js / css и т. Д., Но по моему опыту места, которые не поддерживают фиксированные заголовки, были слишком медленными, чтобы запустить версию js в любом случае.