将AJAX / JSON调用与iScroll结合使用

时间:2013-04-18 21:05:12

标签: json jquery-mobile iscroll

我正在使用JSON数据从JQM网站创建一个列表,并且没有遇到任何问题。现在我想将iScroll添加到场景中,如果我使用静态列表它可以正常工作,但是当我从JSON获取列表时它不会获取我有多少李,如果我有,我不能向下滚动到底部让我说20李。我不知道如何结合我的JavaScript,所以这是我到目前为止[编辑]:

var myScroll;   

$(document).on('pageshow', function (){
    var userid=1,
        dataUrl = 'http://duefmun.dk/html5data/playermenu.php?callback=?&userid=' + userid,
        dataCallback = function (data) {
            var content = [];
            $.each(data, function (i, val) {
                content.push(val.list);
            });
            $('#games').html(content.join('')).listview('refresh');
        },
        fetchData = function () {
            myScroll = new iScroll('wrapper');
            if (myScroll.isReady()){
                $.getJSON(dataUrl, dataCallback);
            }
        };
    fetchData();
    setInterval(fetchData, 20000);

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

});

希望这是有道理的,并且感谢任何帮助: - )

编辑:我已经用我认为应该是正确的东西编辑了帖子,但它仍然没有用?请帮忙: - /

1 个答案:

答案 0 :(得分:0)

我的建议是你应该在获得数据后创建iScroll。所以,你的代码应该是:

...
fetchData = function () {           
        if (myScroll.isReady()){
            $.getJSON(dataUrl, dataCallback);
        }
    };
fetchData();
setInterval(fetchData, 20000);
myScroll = new iScroll('wrapper');
...