2016-03-24 80 views
0

我知道有很多這樣的問題,但我無法找到解決我的問題的方法。mCustomScrollbar「scrollTo」不能在單個頁面應用程序中工作

在我的單頁應用程序(與metro風格),當我從一個部件回到家時,我想將滾動位置設置回它在進入部件之前的位置。

<div id="overflow" class="mCustomScrollbar _mCS_9" style="width: 1855px;"> 
 
    <div id="mCSB_9" class="mCustomScrollBox mCS-jmsHorizontalScrollbar mCSB_horizontal mCSB_inside" style="max-height: none;" tabindex="0"> 
 
     <div id="mCSB_9_container" class="mCSB_container" style="position: relative; top: 0px; left: 0px; width: 8360px;" dir="ltr"> 
 
     <div class="page" id="dashboard_all" style="width: 8360px;"> 
 
     </div> 
 
     </div> 
 
     <div id="mCSB_9_scrollbar_horizontal" class="mCSB_scrollTools mCSB_9_scrollbar mCS-jmsHorizontalScrollbar mCSB_scrollTools_horizontal" style="display: block;"> 
 
     <a href="#" class="mCSB_buttonLeft" oncontextmenu="return false;" style="display: block;"></a> 
 
     <div class="mCSB_draggerContainer"> 
 
      <div id="mCSB_9_dragger_horizontal" class="mCSB_dragger" style="position: absolute; min-width: 30px; display: block; width: 403px; max-width: 1805px; left: 0px;" oncontextmenu="return false;"> 
 
       <div class="mCSB_dragger_bar"></div> 
 
      </div> 
 
      <div class="mCSB_draggerRail"></div> 
 
     </div> 
 
     <a href="#" class="mCSB_buttonRight" oncontextmenu="return false;" style="display: block;"></a> 
 
     </div> 
 
    </div> 
 
</div>

這是該插件創建代碼時,我把它應用到div #overflow

$(document).ready(function() { 
 
\t \t \t $("#overflow").mCustomScrollbar({ 
 
\t \t   axis:"x", 
 
\t \t   theme:"jmsHorizontalScrollbar", 
 
\t \t   scrollButtons: { 
 
\t \t   \t enable: true 
 
\t \t   }, 
 
\t \t   scrollInertia: 950, 
 
\t \t \t \t callbacks:{ 
 
\t \t \t \t \t onScroll:function(){ 
 
\t \t \t \t \t \t //this functions sets the value in another js file. -(this.mcs.left) to get a positive value 
 
\t \t \t \t \t \t getNavigator().setScrollLeft(-(this.mcs.left)); 
 
\t \t \t \t \t }, 
 
\t \t \t \t \t alwaysTriggerOffsets:false 
 
\t \t \t \t } 
 
\t \t  }); 
 
\t \t })

然後我用的位置在回調中發現那樣的

$("#overflow").mCustomScrollbar("scrollTo",scrollLeft);

但沒有任何反應。 如果我試圖放一個像3000這樣的值,有時會滾動滾動條,但滾動條會停留在初始位置。

謝謝你在前進, 利瑪竇

回答

0

我做到了!我在的onUpdate回調

onUpdate:function(){ 
 
    $("#overflow").mCustomScrollbar('scrollTo',position, { 
 
    // scroll as soon as clicked 
 
    timeout:0, 
 
    // scroll duration 
 
    scrollInertia:0, 
 
    }); 
 
}

使用的scrollTo方法
相關問題