2012-01-29 4 views
1

У меня динамически обновляется список. Я получаю данные из своей службы JSON, анализирую и динамически вставляю в div. Проблема в; после генерации всех данных прокрутка работает, но не полностью. Представьте, что вы нажимаете и прокручиваете список вверх, если вы удаляете часовой палец с экрана, позиция listview автоматически возвращает свою начальную позицию. Я пробовал использовать iScroll и jQuery mobile с жестким кодом <ul><li>, тогда он работает.iScroll + jQuery Mobile -> Динамическая позиция прокрутки списка просмотров

Вот код ниже:

 <script> 
    var myScroll2; 

    function loaded() { 
myScroll2 = new iScroll('wrapper2'); 

    } 

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

..

<div id="wrapper2"> 
    <div data-role="content"> 
    <div id="panoListDetay"></div> 
    </div> 
    </div> 

--- и ниже код был generata данных для ListView.

/*automatically upldated script*/ 
    /*called every 5 second*/ 
    <script> 
    $(function update_twit(){ 
    $.ajax({ 
    url: "http://myweepage.org/service.json?q=getlast10data", 
    dataType: 'jsonp', 
    success: function(json_results){ 
     $("#notice_div").html(''); 
     $("#panoListDetay").html(''); 
     $('#panoListDetay').append('<ul id="tweetul" data-role="listview" data-theme="c"></ul>'); 
     listItems = $('#panoListDetay').find('ul'); 
     $.each(json_results.results, function(key) { 
      html = '<h3>'+json_results.results[key].screen_name+'</h3><div class="ui-li-desc">'+json_results.results[key].text+'</div>'; 
      html += '<p class="ui-li-aside"><img WIDTH=12 HEIGHT=12 src="images/11-clock.png"/><strong> '+json_results.results[key].tarih.substring(11,16)+'</strong></p>'; 
      html +='<p class="ui-li"><img WIDTH=8 HEIGHT=13 src="images/07-map-marker.png"/> '+json_results.results[key].adres_data+'</p>'; 
      listItems.append('<li>'+html+'</li>'); 
     }); 
     $('#panoListDetay ul').listview(); 
     window.setTimeout(update_twit, 5000); 
    }, 
     error: function (XMLHttpRequest, textStatus, errorThrown) { 
     window.setTimeout(update_twit, 20000); 
    } 
    }); 
    }) 
    </script> 
+0

Привет снова Я исправил его. Проблема была исправлена ​​после смены таким образом

+0

Пожалуйста, добавьте ответ на свой вопрос и отметьте его как можно скорее, чтобы все знали, что на вопрос уже ответили :) – Pablo

ответ

0

Привет, все, что я исправил эту проблему. Проблема связана с стилем div = content.

<div id="wrapper2"> 
<!--<div data-role="content">--> 
<div id="panoListDetay"></div> 
<!--</div>--> 
</div> 
0
// Append the HTML to your element inside your myScroll 
setTimeout(function() { 
     myScroll.refresh(); 
    }, 100); 

Там нет никаких проблем с использованием данных-роли = «содержание»

Вы должны обновить iscroll после добавления данных