используя iscroll с jquerymobile - PullRequest
       22

используя iscroll с jquerymobile

1 голос
/ 28 февраля 2012

Я создаю приложение, используя jquerymobile в phonegap . Я использую следующий код, чтобы получить фиксированный заголовок, нижний колонтитул, прокручиваемый контент, используя iscroll.js . Проблема в том, что я не могу прокрутить содержимое div. Пожалуйста, помогите мне.

 enter code here<body onload="loaded()">
<div data-role="page"  id="detail">
    <div class="fixedHeader">
        </div>
         <div id="wrapper" >
              <div id="scroll-content">
        <div data-role="content">
         <!--    dynamic content goes here  -->
        dynamic content goes here
     </div> 
     </div>
    </div>
    <div class="fixedFooter" ></div>
</div>
#wrapper {
    position:absolute; z-index:1;
    top:45px; bottom:48px; left:0;
    width:100%;

    overflow:auto;
}
#scroller {
    position:relative;
/*  -webkit-touch-callout:none;*/

    float:left;
    width:100%;
    padding:0;
}

Javascript код

var myScroll;
function loaded() {

    myScroll = new iScroll('wrapper', {

onBeforeScrollStart: function (e) {
var target = e.target;
while (target.nodeType != 1) target = target.parentNode;

if (target.tagName != 'SELECT' && target.tagName != 'INPUT' && target.tagName != 'TEXTAREA')
e.preventDefault();
}
});
}

document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
document.addEventListener('DOMContentLoaded', loaded, false);

1 Ответ

0 голосов
/ 07 марта 2012
i got iscroll working in jquerymobile by editing js as 

    var myScroll = [];

    $(document).delegate('[data-role="page"]', 'pageshow', function () {

        var $page = $(this);

        // setup iScroll
        $($page.find('#wrapper')).each(function(index) {

            var scroller_id = $(this).get(0);

            myScroll.push(
                new iScroll(scroller_id, {

               useTransform: false,
              onBeforeScrollStart: function (e) {
var target = e.target;
while (target.nodeType != 1) target = target.parentNode;

if (target.tagName != 'SELECT'&& target.tagName !='option'&& target.tagName !='option' && target.tagName != 'INPUT' && target.tagName != 'TEXTAREA')
e.preventDefault();
e.stopPropagation();
}

            }));
    });

});

$(document).delegate('[data-role="page"]', 'pagehide', function () {

    // unset and delete iScroll
    for (x in myScroll)
    {
        myScroll[x].destroy();
        myScroll[x] = null;
        myScroll.splice(x, 1);
    }

});

document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
...