jQuery mobile data-page = ТОЛЬКО «контент» переход - PullRequest
8 голосов
/ 10 января 2012

Я пытаюсь разработать приложение для iPhone, используя PhoneGap и jQuery Mobile. Это приложение имеет Fixed Footer.

Основная проблема, с которой я сейчас сталкиваюсь, заключается в том, что встроенный переход страницы изменяет ВЕСЬ СТРАНИЦЫ, требуя от меня copy/paste кода нижнего колонтитула на каждой странице.

Очевидно, это не способ сделать это. Любое небольшое изменение в нижнем колонтитуле должно быть продублировано 10+ раз (для 10+ страниц).

У меня следующий вопрос: как я могу загрузить только «контентную» часть страницы (с переходом между слайдами), чтобы мне не приходилось вводить код на всех моих страницах?

Ответы [ 2 ]

5 голосов
/ 10 января 2012

Эта функциональность пока недоступна в jQuery Mobile. Вы можете включить опцию touchOverflowEnabled для «настоящих» фиксированных нижних колонтитулов и фиксированных верхних колонтитулов на устройствах iOS 5, но не для других устройств.

Чтобы получить действительно фиксированные панели инструментов, браузер должен опорная позиция: фиксированная или переполнение: авто. К счастью, эта поддержка переход на мобильные платформы, чтобы мы могли достичь этого с помощью веб-стандартов. В jQuery Mobile мы добавили глобальную функцию под названием touchOverflowEnabled, использующий свойство CSS overflow: auto для поддерживаемые платформы, такие как iOS5. Когда включено, фреймворк оборачивает каждый страница в контейнере с собственной внутренней прокруткой. Это позволяет нам расположить панели инструментов вне тела прокрутки, чтобы они действительно оставались постоянно фиксируется на месте.

Источник: http://jquerymobile.com/demos/1.0/docs/toolbars/bars-fixed.html

Вы можете , однако настройте нижние колонтитулы в программном стиле, а не жестко кодируйте каждую страницу:

//bind an event handler to the `pagecreate` event for all `data-role="page"` elements
$(document).delegate('[data-role="page"]', 'pagecreate', function () {

    //append a footer to this page (`pagecreate` is only called once per page added to the DOM so you don't have to worry about appending multiple footers to a single page
    $(this).append('<div data-id="my-fixed-footer" data-position="fixed" data-role="footer">{THE HTML FOR YOUR FOOTER GOES HERE}</div>');
});

Вот демонстрационная версия: http://jsfiddle.net/vNqaG/ (обратите внимание, что в панели HTML нет жестко заданных нижних колонтитулов)

0 голосов
/ 19 августа 2012

Если вы используете базу данных в веб-приложении, вы можете просто добавить нижний колонтитул в базу данных и загружать его с помощью PHP на каждой странице. Сначала вам придется жестко закодировать PHP на каждой странице, но после этого все, что нужно для изменения нижнего колонтитула, - это просто быстрое редактирование базы данных. Посмотрите MySQL / PHP.

...