it-roy-ru.com

Как исправить фиксированный нижний колонтитул jQuery Mobile?

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

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

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

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

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

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

18
Tomer Lichtash

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

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

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

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

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

14
Simon Vane

С jquery.mobile-1.0a4 добавление data-position = "fixed" в нижний колонтитул работает как нужно в Iphone, Android и Chrome

2
neavilag

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

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

Извиняюсь за публикацию этого как ответ, но я не могу комментировать в данный момент.

2
MGG

У нас возникла эта проблема, и мы использовали комбинацию iScroll (v3) и мобильного упаковщика Nice jquery для iScroll. Работает отлично. Смотрите все детали здесь:

http://yappo.github.com/projects/jquery.mobile.iscroll/livedemo.html

1
greencustard

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

1
Nikhil Patil

Re: Нижний колонтитул не исправлен, и скрывает часть содержимого страницы.

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

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

С ПОМОЩЬЮ... 

  • JQuery Mobile 1.3.2
  • Кордова
  • В нижнем колонтитуле есть навигационная панель и рекламный баннер. 
0
Sandi Laufenberg-Deku

я использую jquery mobile 1.3.1, и все, что вы сказали ранее, не работает в моем приложении. но у меня есть решение для этой ошибки. проверьте мой другой пост JQueryMobile - фиксированный нижний колонтитул не исправлен после фокуса ввода

$('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
Ary Wibowo

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

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

0
Alon Carmel