0

我在用:

    <!DOCTYPE html>
    <html lang="en" dir="ltr">
 <head>    
    <link rel="stylesheet" href="css/lib/jquery.mobile.structure-1.3.2.min.css"/>
    <link rel="stylesheet" href="css/lib/jquery.mobile.theme-1.3.2.min.css"/>
    <link rel="stylesheet" href="css/lib/jquery.mobile-1.3.2.min.css"/> 
    <script type="text/javascript" src="js/lib/jquery-1.9.1.min.js"></script>
    <script type="text/javascript" src="js/lib/jquery.mobile-1.3.2.min.js"></script>
    <script type="text/javascript" charset="utf-8" src="js/lib/cordova.js"></script>
</head>
<body>
    <div data-role="page" id="assignedProposalPg" style="margin-top: 0px;">
    <div data-role="content">
    <div id="assignedPropList"> </div>
    </div>
    </div>
</body>

在 file.js 中,我编写了以下代码,获取所有值,但在滚动期间仅出现白屏

function fillData()
{ 
     for (var i = 0;i < obj.Proposal.length; i++) 
{
     var htmlString = '<fieldset data-role="controlgroup">';    
     var fieldId = 'ap' + i;
     proposalIds += obj.Proposal[i].id + ',';
     htmlString += '<input type="radio" name="assigned_proposal_id" id="' + fieldId + '" value="' +          obj.Proposal[i].enquiry_no + ',' + obj.Proposal[i].id + '"/><label for="' + fieldId + '" >' + obj.Proposal[i].enquiry_no + '-' + obj.Proposal[i].caller_name + '-' + obj.Proposal[i].post_code + '</label>';
}
     htmlString += '</fieldset>';
     $("#assignedPropList").empty().append(htmlString).trigger('create');
}

为什么会这样?添加了情况问题描述的视频

4

1 回答 1

0

视频真的帮助我理解了。谢谢。问题在于,由于内存的原因,设备无法跟上并渲染它的数据太多。最好的办法是对数据进行分页,一次只加载 25 条左右的记录。然后添加前进和后退按钮以加载下一个/上一个记录集。如果数据存储在本地,那么您没有问题。如果您通过 json 远程获取数据,则只需获取一次数据并将其加载到数组中。然后只需使用您的分页设置遍历数组。

于 2013-09-13T12:53:08.773 回答