Мерцающий интерфейс при смене страницы в jQuery mobile - PullRequest
7 голосов
/ 21 декабря 2011

Я использую jQuery mobile 1.0.когда я перехожу на одну страницу на другую страницу в iPhone, появляется вторая страница и мерцает, затем показывает первую страницу и полностью переходит на вторую страницу.Как это исправить?заранее спасибо ..

Обновление: вы можете проверить http://gugl.org/page1.html для примера.

Ответы [ 6 ]

3 голосов
/ 29 сентября 2012

Я исправляю эту проблему с помощью следующего кода CSS:

.ui-mobile-viewport-transitioning,
.ui-mobile-viewport-transitioning .ui-page {
    overflow: visible;
}

Я упоминаю больше об этом в моем блоге .

2 голосов
/ 24 февраля 2012

Пожалуйста, дайте мне знать, если с вашим мерцанием помогает следующее:

/* Remove flicker on Android / WebKit  */
.ui-page {
  -webkit-backface-visibility: hidden !important;
}

Этот фрагмент сопровождается предупреждением. Хотя это может решить проблему мерцания, оно часто представляет другие проблемы.

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

0 голосов
/ 01 марта 2012

Посмотрите, работает ли это лучше для вас:

http://jquerymobile.com/test/

Это известная проблема с версией 1, о которой сообщалось, что она закрыта для iOS.Это было разработано и будет официально выпущено в версии 1.1.

. Между тем, на тестовом сайте есть последний код, если вы не можете ждать.

(обычное заявление об отказе от использования тестового кода здесь.)

обновление: Объявление о jQuery Mobile 1.1.0 RC1http://jquerymobile.com/blog/2012/02/28/announcing-jquery-mobile-1-1-0-rc1/

Демонстрация по адресу: http://jquerymobile.com/demos/1.1.0-rc.1/

0 голосов
/ 27 февраля 2012

Такое поведение может быть вызвано довольно многими предметами.

  • Длинные списки данных, которые проходят после начальной прокрутки экрана. Им нужно
    время рендеринга при прокрутке экрана
  • Динамическое внедрение данных - для рендеринга требуется то же самое время
  • Android, кажется, мерцает везде. Единственное, что мы сделали, это просто отключили переходы для страниц с Android и по умолчанию их исчезнуть. На самом деле это подход, который JQM будет в следующем выпуске.
  • Использование ссылок на страницы, не основанных на AJAX, которые возвращаются в ваше основное приложение

Это всего лишь несколько вещей, которые могут вызвать поведение, которое вы, возможно, видите. По крайней мере, это отправная точка для решения некоторых ваших проблем.

0 голосов
/ 27 февраля 2012

Возможно, вам просто нужно включить touchOverflowEnabled

Пример:

<script>
$(document).bind("mobileinit", function() {
  $.support.touchOverflow = true;
  $.mobile.touchOverflowEnabled = true;
});
</script>

Также обратите внимание, что в jqm 1.1.0 этого не будет необходимости.Подробнее о здесь .

0 голосов
/ 25 февраля 2012

Я бы остановился на jQueryMobile версии 1.1 , которая должна появиться позже в этом месяце.

...