2012-01-29 112 views
1

我有一个动态更新的列表视图。我从我的JSON服务获取数据,解析并动态注入到div。问题是;生成所有数据后,滚动正在工作,但不完全。想象一下,你按下并向上滚动列表视图,如果你从屏幕上删除小时手指,列表视图位置会自动回到它的开始位置。我用硬编码的<ul><li>代码尝试了我的iScroll和jQuery手机,然后运行。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数据列表视图。

/*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

嗨再次,我已经修复它之后,应该刷新iscroll没有问题。这个问题是固定的改变一样,

2012-01-29 11:48:20

+0

请回答您的问题添加并标记它时,你可以为正确后,所以大家就会知道问题已经回答了:) – Pablo 2012-01-29 16:39:31

回答

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); 

有使用数据角色=“内容”

追加数据