使用iscroll,無法正常滑動的原因


iscroll的dom元素的結構是固定的,swiper是容器,scroll是需要滾動的容器,list是滾動的內容

<div class="swiper">
    <div class="scroll">
        <div class="list"></div>
    </div>
</div>

tips:

1、swiper定位必須為relative,並且高度設置固定值,overflow:hidden;

2、swiper的高度一定要小於scroll的高度

3、初始化uiscroll時,元素必須是顯示的狀態,

4、如果底部還是無法拉上去,查看list中的每個item之間是否有padding,margin(如果是上下滑動,則查看上下),取消padding和margin

5、scroll 是你想要在多大的容器里滾動,list是真正要滾動的內容,所以scrollbar 設置為list

6、使用scroll 上下滾動到指定高度的時候,使用scrollTo,要判斷最大的滾動距離maxScrollY,如果超出這個距離,會先滾到這個位置后再返回回去。

我的案例,頁面中有個div容器,里面設置了兩個tab,點擊相互切換。div容器設置為隱藏,當點擊頁面中的某個按鈕時,顯示該div。我在頁面渲染完成后,就初始化了iscroll,但是發現div滑動不了(只要一放手就回彈到初始位置)。

滾動不了的原因:初始化iscroll時,div是隱藏的狀態,修改初始化的時機,當div顯示后在初始化。

修改后,只有第一個tab,可以正常滑動,第二個依然無法正常滑動,原因同上,div顯示時,只有第一個tab是顯示的狀態,所以在點擊第二個tab時,需要再次初始化一次。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM