2013-08-18 48 views
0

JQM 1.3 Iscrollview 1.3.1如何讓iscrollview在新顯示屏上顯示最佳狀態?

我有一個使用data-iscroll事件的鏈接列表。每個事件也是一個列表(標題/日期位置/描述)。

每次點擊事件列表時,都會顯示事件。如果我向下滾動內容,當我回到事件列表,然後單擊另一個事件時,視圖會滾動到前一視圖停止的位置。

我已經成功地阻止這種通過對事件的內容啓動一個空的(),然後調用UpdateLayout請在活動內容的後退按鈕:

$("#bhome").on('vclick', function(e) { 

    $('#econt').empty().trigger('updatelayout'); 

    $.mobile.loading('show'); 
    e.preventDefault(); 
    $.mobile.changePage("#page1"); 
    }); 

但是,當然,Android用戶不使用後退按鈕並改爲使用後退鍵。

我試着空()和UpdateLayout請在pagebeforehide事件,但顯然,該位置將被保存在此之前,事件發生:

$('#event').on('pagebeforehide', function(event, data) { 
    $('#econt').empty(); 
    $('#econt').trigger('updatelayout'); 
    $('#escroll').trigger('updatelayout'); 
}); 

我也嘗試使用silentscroll功能,但它不是工作之一:

$(document).on('pageshow', '#event', function(){ 
    $.mobile.silentScroll(0); 
}); 

我怎樣才能確保上觀看一個新的事件,該位置是重回巔峯?

這裏是我的index.html文件的一個片段:

<div id='container'> 
    <div data-role='page' id='page1' data-theme="c" style="background: black;"> 
</div> 
    <div data-iscroll style='background-color:#ddd;'> 
     <ul id="el"></ul> 
    </div> 
<div data-role='footer' data-position='fixed' data-theme="a" data-tap-toggle="false"> 
</div> 
    </div> 

    <div data-role="page" id="event" data-theme="c" style="background:black;"> 
<div data-role='header' data-position='fixed' data-theme="a" style="height:42px;"> 
     <a id="bhome" class="ui-btn-left ret" data-icon="arrow-l" href="#" data-iconshadow="false">Back</a> 
     <h1 id='eh1'></h1> 
    </div> 
<!-- data-role='content' entraine un scroll horizontal --> 
    <div data-iscroll style='background-color:white;' id='escroll'> 
     <ul id='econt'></ul> 
    </div> 
    </div> 

回答

0

答案是由iscrollview筆者給出的(完美的作品):

$("#escroll").iscrollview("scrollTo", 0, 0, 0, false);