Поведение jQuery Mobile при просмотре прокрутки переходит на другие страницы / страницы - PullRequest
4 голосов
/ 07 декабря 2011

В небольшом приложении, над которым я работаю, есть список, содержащийся в div с фиксированной высотой, который я бы хотел прокручивать.Используя jQuery Mobile scrollview, у меня просто отлично работает прокрутка списка.Проблема заключается в том, что поведение прокрутки выглядит перерасходом на другие элементы div.

У меня есть некоторые элементы формы на второй странице, и ползунок ввода / диапазона больше не работает, по-видимому, из-за просмотра прокрутки (вы можете выбратьномер с краном, но он не будет скользить).Все «страницы» находятся в одном HTML-файле, то есть они не являются внешними страницами.

Div, заключающий в просмотр, выглядит следующим образом.Ничто другое не имеет атрибута data-scroll = "true", кроме этого div.

<div id="scrollList" data-scroll="true">

Я связал вышеупомянутое в голове.

<script type="text/javascript" src="assets/js/jquery.easing.1.3.js"></script>
<script type="text/javascript" src="assets/js/jquery.mobile.scrollview.js"></script>
<script type="text/javascript" src="assets/js/scrollview.js"></script>

Когда я проверяю кодjQuery вставляет, я вижу, что он добавляет class = "ui-scrollview-clip" и data-scroll = "y" в div содержимого на каждой странице.См. Ниже.

<div id="firstPageContent" class="ui-content ui-scrollview-clip" data-role="content" role="main" data-scroll="y" style="overflow: hidden; position: relative; height: 435px;">

Кто-нибудь знает, как заставить jQuery прекратить добавлять это к различным элементам div или остановить свертывание поведения, переходящее на другие страницы?Похоже, это происходит в scrollview.js.Это неправильный файл для использования?

Любая помощь, которую вы можете предоставить, с благодарностью.

Спасибо!

Ответы [ 2 ]

1 голос
/ 19 января 2012

Не похоже, что атрибут data-scroll = "true" еще используется. Механизм прокрутки применяется ко всем страницам (role = "page").

Вот как я смог применить скроллвью к выбранному набору страниц.

ШАГ 1:
В scrollview.js я заменил эту строку:

$( ":jqmData(role='page')" ).live( "pageshow", function(event) {

с этой строкой:

$( ".scrollview" ).live( "pageshow", function(event) {


ШАГ 2:
Затем я добавил атрибут класса 'scrollview' ко всем страницам, которые я хотел, чтобы scrollview отображал:

<div id="layersPage" data-role="page" class="scrollview">

Похоже, JQM включит атрибут data-scroll = "true", когда этот продукт будет официально принят.

0 голосов
/ 08 декабря 2011

Вы пытались добавить data-role="none" к элементу, который вы хотите оставить без изменений в Jquery?Подробнее об этой роли данных здесь.

...