2014-02-19 46 views
1

iScroll的結構是這樣的「如何禁用iScroll上的拖動事件?

<div class="navigation"> 
     <div class="left_arrow"> 
      <img class="img_left" src="images/a_right.png"> 
     </div> 
     <div id="navigation_scroller"> 
      <ul id="navigation_list"> 
       <li><a href="house_disposition.htm"></a></li> 
       <li><a href="house_disposition.htm"></a></li> 
       <li><a href="house_disposition.htm"></a></li> 
       <li><a href="house_disposition.htm"></a></li> 
       <li><a href="house_disposition.htm"></a></li> 
       <li><a href="house_disposition.htm"></a></li> 
       <li><a href="house_disposition.htm"></a></li> 
      <ul> 
     </div> 
     <div class="right_arrow"> 
      <img class="img_left" src="images/a_right.png"> 
     </div> 
    </div> 

現在,要求禁止向iscroll拖動,滾動#navigation_scroller是點擊.left_arrow.right_arrow的唯一途徑。

而且在iscroll在可見<li>最有5

如果<li>小於5,只是禁用所有滾動#navigation_scroller的方式。

<li>大於5,禁用拖動iscroll,只需移動<li>左/右逐一點擊.left_arrow/right_arrow


有兩個問題。

  1. 如何在iscroll禁用阻力?我找不到這個設置

  2. 如何滾動<li>一個接一個?可以通過調用scrollToElement方法嗎?

回答

4

文件沒有列出一些,但iScroll V5.1.1有額外的選項,如:

  • 滾輪
  • disableMouse
  • disablePointer
  • disableTouch

你可以將它們全部設置爲false/true並且不進行交互離子與鼠標,觸摸板我們的觸摸屏不會被處理。

要更改幻燈片的箭頭,你可以使用這些方法:

  • 下一個()
  • prev()

或更好

  • GotoPage記述(X,Y )

要從一個頁面滑動到另一個頁面,應該設置捕捉選項以匹配您描述爲頁面的元素。根據你的情況選擇看起來是這樣的:

var options = { 
    snap: 'li', // your page selector 
    snapThreshold: 0.1, 
    mouseWheel: false, 
    disableMouse: true, 
    disablePointer: true, 
    disableTouch: true 
}; 

var scroll = new IScroll('#navigation_scroller', options); 

現在只需連接上箭頭事件相應地調用scroller.goToPage(x, y)。 X和Y代表「頁碼」編號(在您的情況下爲<li>訂單編號)。要獲得當前頁面位置,您應該相應地閱讀scroller.currentPage.pageYscroller.currentPage.pageX

這應該可以幫助您實現您的項目所需的行爲。