Использование iScroll с Jquery Mobile.

У меня есть простое диалоговое окно, созданное с помощью html5 и Jquery Mobile. Это выглядит следующим образом:

<div data-role="dialog" id="page2" data-theme="a">

            <div data-role="header" class="header">

                <h1>Door Styles</h1>

            </div><!-- /header -->

            <div data-role="content" data-theme="a">


            <div id="wrapper">

                <div id="scroller" class="scroll">  

                    <ul data-role="listview" id="mylist">

                    </ul>

                    </div>

                </div>

            </div><!-- /content -->

            <div data-role="footer" class="footermodal">

                <h1>↕ Please Scroll ↕</h1>

            </div><!-- /footer -->

        </div>

Причина, по которой я реализовал iScroll, заключалась в том, что в Android 2.2.2 диалоговое окно не было прокручиваемым. Однако, когда я реализую его, мой заголовок и нижний колонтитул практически исчезают. И когда вы прокручиваете, как только вы отпускаете его, он отскакивает к вершине. Я реализую это с помощью этого кода:

    <script type="text/javascript">

var myScroll;
function loaded() {
    myScroll = new iScroll('wrapper');
}

    window.addEventListener('load', setTimeout(function () { loaded(); }, 200), false); 

            </script>

Кажется, это конфликт между стилем Jquery и стилем iScroll. У кого-нибудь еще возникла такая проблема? Или знаете как это исправить?

2 ответа

Вам нужно установить элемент после его создания.

newElement =  function () {$ ("body"). append ('<div id='wrapper'> content </ div> ");loaded(); }

#wrapper { position: absolute; top: 0px; bottom: 0px; }

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

Другие вопросы по тегам