Страница JQUERYMOBILE отображается на рабочем столе, но не на мобильном устройстве - PullRequest
0 голосов
/ 05 апреля 2011

У меня проблема с динамическим отображением контента на мобильном устройстве.

Я хотел бы выписать список со значениями, используя следующий код:

        $.each(mapdata, function(index, value){
            //alert(index + ': ' + value.jmeno+value.lat+value.lng); 
            //document.write(value.jmeno);  

            //GET CURRENT GPS COORDS
            //onLoad();
            //GET CURRENT GPS COORDS
            try {
                    //alert("SUCCESS");
                $("ul").append("<li><img width=\"80px\" src=\"http://static.akcniceny.cz/" + value.img + "\"/><h3><a href=\"" + value.jmeno + "\">" + value.jmeno + "</a></h3><p>" + value.akcnicena + " Kč</p><p>" + value.pjmeno + "</p><div class=\"shop-distance\"></div><div id=\"lat\">" + value.lat + "</div><div id=\"lng\">" + value.lng + "</div></li>");
            } 

            catch (err) {
                alert("ERROR BY WRITEOUT");
            }
        });
        $('ul').listview('refresh');

В настольном браузере все работает нормальнона мобильном устройстве я пробовал ловить ошибку, но ничего.Кажется, все работает нормально, но я вижу только пустую белую страницу?

1 Ответ

1 голос
/ 24 апреля 2011

Причина, по которой это не работает, заключается в следующем: список обновляется до того, как вы закончили добавлять контент.Лучший способ сделать все элементы списка, по моему опыту, сделать что-то вроде

var appendString;
$.each(data, function(index, value) {appendString = appendString + whatever});
$("ul").append(appendString);
$("ul").listview('refresh');

Таким образом, вы также не вызываете $ на КАЖДОМ проходе вашего $ .each.То, как вы делаете это сейчас, вычислительно дорого.И да, пожалуйста, примите.Я новичок, могу использовать представителя :).Благодарю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...