jQuery Mobile Статические Заголовки - PullRequest
6 голосов
/ 22 ноября 2011

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

Я проверил API и не могу ничего найти. Кто-нибудь придумал, как это сделать? Это возможно даже с jQM?

Любая помощь будет оценена!

Ответы [ 4 ]

8 голосов
/ 22 ноября 2011

Вам нужно будет создать свой собственный заголовок, который не является частью элемента <div data-role="page">.Обычно вы добавляете свой верхний / нижний колонтитул как дочерний элемент элемента <div data-role="page">, но это заставляет их переходить с остальной частью страницы.

Чтобы удалить верхний колонтитул из переходов, вы можете расположить свой собственный верхний колонтитул сверху.страницы, а затем добавьте заполнение к элементам data-role="content" div, чтобы заголовок не скрывал никакого содержимого.

<style>
#my_header {
    position : absolute;
    top      : 0;
    left     : 0;
    width    : 100%;
    height   : 50px;
    z-index  : 1000;
    overflow : hidden;
}
[data-role="content"] {
    padding-top : 50px;
}
</style>
<body>
    <div data-role="page">...</div>
    <div id="my_header">...</div>
</body>
<!-- Notice the header div is not nested within any data-role="page" divs -->

Я не проверял это, но я делаю что-то похожее для меню всего сайта, и оноработает отлично.Страницы должны переходить за заголовком, а заголовок должен оставаться на месте.

2 голосов
/ 17 декабря 2012

Эта ссылка на сайт jquerymobile описывает, как сделать это «правильно». Вероятно, новый в 1.20 (я просто схожу на борт с этим, так что не уверен). Работает лучше, чем решение для заполнения, но только если вам не нужен тот же статический экземпляр заголовка, который, вероятно, был после OP, поскольку он сохраняет состояние. В любом случае удобная ссылка.

0 голосов
/ 22 ноября 2011

Вам нужна внешняя библиотека, такая как iScroll-4 (http://cubiq.org/iscroll-4) или Scrollability для универсального решения. Я бы предпочел iScroll, работает плавно и корректно.

Для iOS5 явно вы можете использовать position: fixed в CSS для вашего заголовка. В сочетании с переливом: коснитесь ;.

API JQM допускает также статические заголовки, но, как они поняли, как вы это описали, заголовки и нижний колонтитул исчезают и появляются снова, потому что он пересчитывает размер экрана для адаптации положения верхнего / нижнего колонтитула. http://jquerymobile.com/demos/1.0/docs/toolbars/bars-fixed.html

Кроме того, здесь есть хорошая тема в глобальном меню (адаптируется к глобальному заголовку): Какой лучший способ создать меню в jQueryMobile в их случае - это идеальная ссылка: http://www.roughlybrilliant.com/three_ways_to_implement_a_global_menu_in_jquery_mobile

Помогает ли это?

0 голосов
/ 22 ноября 2011

Я не думаю, что это возможно.В JQM вы работаете со структурами страниц, частью которых являются верхний и нижний колонтитулы.Переходы страниц затем применяются ко всей странице.Я склоняюсь к тому, чтобы переход страницы был плавным, чтобы сделать его менее навязчивым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...