2011-10-07 57 views
6

我目前拉着我的頭髮試圖讓iscroll 4與jQuery Mobile合作。使用iscroll與jQuery的移動

這一切工作正常,我禁用JQM ajax默認導航,但我想保留這一點。

我的問題是我無法解決如何成功調用/綁定iscroll,因此它可以處理需要它們的頁面。我曾嘗試pageinit()和pagecreate()無濟於事。

任何指針非常讚賞。

A.

回答

8

我初始化/刷新的pageshoworientationchange事件iScroll實例。我在data-role="content" divs上設置了一個我想要滾動的類(在這種情況下,我使用了.content類)。

var myScroll = []; 
$(document).delegate('[data-role="page"]', 'pageshow', function() { 
    if ($.mobile.activePage.find('.content').length > 0) { 
     if (this.id in myScroll) { 
      myScroll[this.id].refresh(); 
     } else { 
      myScroll[this.id] = new iScroll($.mobile.activePage.find('.content')[0].id, { 
       hScroll  : false, 
       vScroll  : true, 
       hScrollbar  : false, 
       vScrollbar  : true, 
       fixedScrollbar : true, 
       fadeScrollbar : false, 
       hideScrollbar : false, 
       bounce   : true, 
       momentum  : true, 
       lockDirection : true 
      }); 
     } 
    } 
}); 

$(window).bind('orientationchange', function() { 
    if ($.mobile.activePage[0].id in myScroll) { 
     myScroll[$.mobile.activePage[0].id].refresh(); 
    } 
}); 
+0

你加載之前 iscroll的js? – Adi

+0

不,這是我加載的最後一個腳本。如果您在初始化iScroll實例時遇到困難,請確保您正在關注iScroll站點上的示例。 iScoll僅滾動您調用它的元素的直接子元素。 – Jasper

+0

我可以得到它的工作,而不是與JQM ajax導航。即如果我到了頁面iscroll不工作。如果我刷新該頁面,它工作正常(可以推測,因爲它再次讀取所有的js)目前iscroll js仍然在html的頭部,而不是在js的任何頁面事件 – Adi