2010-12-07 9 views
18

Использование jQueryMobile, я включил в разметке data-role="footer" data-position="fixed", но две ошибки сохраняются:Как исправить фиксированный нижний колонтитул jQuery Mobile?

  • Footer переключению на нуль событие щелчка.
  • Нижний колонтитул не фиксирован и скрывает часть содержимого страницы.

Я тестирую iPhone 3g. Есть идеи?

Заранее спасибо.

UPDATE: Кажется, что событие нажатия изменяет колонтитул текущей страницы и изменения ui-fixed-overlay к ui-fixed-inline, который, конечно, стилизован display:none предотвратить колонтитулы других страниц появлялись.

Как предотвратить эту модификацию?

+0

Прогресс: обнаружен симптом. Любые идеи относительно лечения? – 2010-12-07 13:36:35

+0

Привет, вы когда-нибудь находили решение проблемы с перерисованием нижнего колонтитула? Я пытаюсь решить ту же проблему в выпуске jQuery Mobile rc1. – 2011-10-17 17:45:35

ответ

25

При использовании 1.1 или более поздней версии, добавьте data-tap-toggle="false" в свой верхний и нижний колонтитулы, а documented here.

Если вы используете версию JQuery Mobile до 1.1, поместите следующие перед загрузкой JQuery Mobile:

$(document).bind("mobileinit", function(){ 
    $.mobile.touchOverflowEnabled = true; 
}); // remove 
0

У меня была аналогичная проблема с нижним колонтитулом, который не фиксируется на прокрутке. Мое предложение? Sencha, а не jQueryMobile, ее загружают с ошибками и не готовы к производству.

Нижний колонтитул также выделяет выбранную страницу из URL/# страницы. URL-адрес влияет на меню нижнего колонтитула в моем случае.

+0

Sencha выглядит очень хорошо, спасибо. Я не могу вспомнить, что это было, но я слышал, что с ним некоторые проблемы. – 2010-12-07 14:11:32

+0

В любом случае, перестройка всего с Сенча займет некоторое время. Если есть даже взломать решение этой проблемы, между тем, будет лучше. Благодаря! – 2010-12-07 14:12:07

+1

Вы посмотрели на это? https://github.com/jquery/jquery-mobile/issuesearch?state=open&q=footer#issue/58 его возможное исправление для того, чтобы нижний колонтитул не фиксировался. его известная ошибка. – 2010-12-08 11:36:28

2

С jquery.mobile-1.0a4 добавления данных-позицию = «фиксированный» в секции нижнего колонтитула работает так, как требуется в Iphone, Android и Chrome

2

Ток «ответ» может быть немного ошибочными. Использование touchOverflow может помочь вам в краткосрочной перспективе, но это скоро исчезнет. Если кто-нибудь читать JQuery мобильного blog, они бы заметили эту аннотацию, размещенную на 10 января:

Heads до: touchOverflow быть устаревшее в 1.1 - Когда мы первый ввели функцию touchOverflow, мы увидели, как хороший способ до использовать встроенную поддержку переполнения в iOS, чтобы принести истинные фиксированные панели инструментов и более плавные переходы, даже если это было для довольно узкого набора устройств в то время. Теперь со значительными изменениями в фиксированных заголовках и переходе, запланированных на 1,1, это улучшит работу практически так же, как touchOverflow, за исключением того, что будет работать на гораздо более платформах и с меньшей сложностью, поэтому мы решили, что удалите эту функцию. Он будет устаревшим на 1,1 и будет удален с 1.2.У нас есть планы на будущее по переполнению регионов с внутренней прокруткой, поэтому большая часть работы, которую мы сделали на touchOverflow , будет переназначена.

Извинения, если вы решите его оставить, но я не могу комментировать на этом этапе.

14

Это исправлено в jQueryMobile 1.1 rc1. См. here.

Использование data-tap-toggle = "false" на нижнем колонтитуле.

1

Я сделал очень простую вещь. Основанное решение с CSS просто установило правильную «минимальную высоту» для контента. Это остановит нижний колонтитул, прыгающий по содержимому страницы.

0

Я использую jQuery mobile 1.3.1, и все, что вы сказали ранее, не работает в моем приложении. но у меня есть решение для этой ошибки. проверить мой другой пост JQueryMobile - fixed footer not fixed after input focus

$('div:jqmData(role="page")').on('pageinit',function(){ 
    $(document) 
     .on('focus','input, select, textarea', function(){ 
      $('[data-role="footer"][data-position="fixed"]').hide(); 
     }) 
     .on('blur','input, select, textarea',function(){ 
      $('[data-role="footer"][data-position="fixed"]').show(); 
     }); 
}); 
0

Re: Footer не фиксируется, и скрывает часть содержимого страницы.

Я тоже боролся с этой проблемой. Оказалось, что мне нужно было перенести тег div div конечного контента, который должен быть до начала нижнего колонтитула. Если нижний колонтитул находится внутри тега div контента, и вы включаете >>> data-position = "fixed" < < <, то мой нижний колонтитул не фиксирован.

Я не знаю о вашей другой проблеме, «Footer переключается на событие с нулевым щелчком», поскольку я не знаю, как воссоздать это в моем приложении.

ИСПОЛЬЗОВАНИЕ ...

  • JQuery Mobile 1.3.2
  • Кордова
  • Колонтитул имеет Navbar и рекламный баннер внутри него.
Смежные вопросы