2017-06-16 73 views
0

這將禁用所有滾動功能。反正有停止以編程方式滾動嗎?

var myScroller = new IScroll('#wrapper'); 
myScroller.disable(); 

有沒有什麼辦法停止滾動(不禁用iscroll)?

var myScroller = new IScroller('#wrapper'); 
myScroller.stopScroll() ? 
myScroller.preventScroll() ? 
myScroller.stayFixed() ? 

回答

0

您是否試過閱讀the documentation?不要試圖猜測一個函數的名字。也許this將幫助您:

options.disableMouse options.disablePointer options.disableTouch

默認情況下iScroll監聽所有指針事件和反應發生的 第一個。這可能看起來浪費資源,但功能 檢測已證明相當不可靠,並且這種全面聆聽方法 是我們對於寬瀏覽器/設備兼容性最安全的選擇。

如果您有設備檢測的內部機制,或者您在 之前知道腳本將在哪裏運行,您可能需要禁用所有不需要的事件集(鼠標,指針或觸摸事件)。


IScroll的目的不是要防止滾動,所以如果這是你使用它的是什麼,它拋棄了。即使你仍然希望IScroll在滾動時啓用,也許這可以幫助你:How to disable scrolling temporarily?

+0

我認爲這是一個誤解。我已經啓動IScroll並得到實例'myScroller',我的意思是如何通過使用'myScroll'實例來禁用滾動移動。我編輯了我的問題。 – Kim

+0

@Kim嗯IScroll不是設計爲_prevent_滾動。這是你使用IScroll的唯一原因嗎? – Clonkex

+0

其實,在這個滾動div上有[modal/mask](https://github.com/jsor/lity)動態顯示。當打開模式/蒙版時,我想阻止滾動移動。也許我應該研究如何防止觸摸事件(當模式打開時),而不是阻止IScroll滾動移動。不過謝謝你! – Kim