我们从服务器javascript - 向下/向上滚动时显示白屏-LMLPHP获取数据并追加列表 View 。我们的问题是先向上/向下滚动时显示白屏,然后再显示数据。
向下/向上滚动时,应删除即将出现的白屏

for (var i=0; i<len1; i++){
     if (!listCreated) {
         $("#ulcontent").append("<ul id='content' data-role='listview'  data-split-icon='plus' data-split-theme='b' data-inset='true' class='ui-listview ui-listview-inset ui-corner-all ui-shadow'></ul>");
                  var listCreated = true;
                            $("#ulcontent").trigger("create");
     }
     var geImage=result.rows.item(i).Image;
     var Custimage="";
         if(geImage)
        {
         Custimage=result.rows.item(i).Image;
         }
$('#content').append('<li class="ui-li-static ui-body-inherit ui-li-has-thumb ui-first-child"><img src='+appendurl+append+Custimage+'><p style="white-space: normal;"><b>Location:</b>'+result.rows.item(i).Location+'<br><b> Description:</b>'+ result.rows.item(i).Comments+'</p></a></li>');
}

当我们删除图像时,它不会显示任何白屏,但是我们需要图像
请告诉我们我的代码有什么问题。

最佳答案

listCreated语句中的if (!listCreated)变量和listCreated语句中的var listCreated = true;变量是两个不同的变量,因此if (!listCreated)总是要返回false。这意味着您永远不会真正创建无序列表,然后列表项只会显示在页面背景上。因此,尝试将listCreated移至外部范围,如下所示:

var listCreated = false;
for (var i = 0; i < len1; i++) {
    if (!listCreated) {
        $("#ulcontent").append("<ul id='content' data-role='listview'  data-split-icon='plus' data-split-theme='b' data-inset='true' class='ui-listview ui-listview-inset ui-corner-all ui-shadow'></ul>");
        listCreated = true;
        $("#ulcontent").trigger("create");
    }
    var geImage = result.rows.item(i).Image;
    var Custimage = "";
    if (geImage) {
        Custimage = result.rows.item(i).Image;
    }
    $('#content').append('<li class="ui-li-static ui-body-inherit ui-li-has-thumb ui-first-child"><img src=' + appendurl + append + Custimage + '><p style="white-space: normal;"><b>Location:</b>' + result.rows.item(i).Location + '<br><b> Description:</b>' + result.rows.item(i).Comments + '</p></a></li>');
}

09-25 18:12