swiper 窗口寬度變化,頁面寬度高度變化 導致自動滑動 解決方案


又又又又是swiper問題

背景:

pc端項目,rem布局,swiper作為步驟條(上一步,下一步)的功能。

發現在屏幕拖動,寬高的變化,窗口大小的變化 會引起swiper自動滑動(到下一步)。

在下載文件鏈接時候回輕微引起一點點寬高的變化,導致直接滑到下一步。

Chrome瀏覽關閉底部下載內容時候也會導致滑動

思考:

1.剛開始以為是某個地方不小心多加了下一步的操作,一直在查找

2.然后以為是下載的方法導致的,更換了多種下載方案

3.實在沒有找出,准備debugger的時候發現,屏幕變化也會引起滑動,准備查找相關內容

行動:

但是無奈swiper的中文api太多不想一個一個的查找,直接搜索,篩選出以下可能有戲的內容↓


//博客鏈接:https://blog.csdn.net/gengsm2/article/details/43193785

//
重點:通過調用swiper.resizeFix()方法,通知swiper需要重新計算頁面尺寸。
//博客鏈接:https://blog.csdn.net/u012217533/article/details/46335075?utm_source=copy 

//重點:mySwiper.destroy(removeResizeEvent) -移除所有綁定的事件監聽(窗口的尺寸改變事件【如果removeResizeEvent的值不等於“false”】,容器(wrapper)的觸控事件,以及文檔的鼠標事件),對於添加/移除滑塊,頁面到文檔時非常有用,能夠釋放瀏覽器內存。

 

結果:

到我正准備嘗試resize()方式的時候,發現原來我在開始的時候就設置過,每次在初始化的時候都要翻到下一頁!啊啊啊啊,不能圖省事直接復制demo里的代碼呀~

 1 var mySwiper = $('.swiper-container').swiper({
 2         loop: false,
 3         simulateTouch : false,//鼠標無效
 4         followFinger : false,//拖動后釋放鼠標或手指時slide滑動
 5         keyboardControl : false,//設置為true時,能使用鍵盤方向鍵控制slide滑動。
 6         touchMoveStopPropagation : false,//阻止當和iscoll插件一起時的a標簽跳轉的冒泡事件
 7         observer:true,//修改swiper自己或子元素時,自動初始化swiper
 8         observeParents:true,//修改swiper的父元素時,自動初始化swiper
 9         onInit: function(swiper){
10             // swiper.swipeNext()//就是這里!!!!每次init,重繪的時候都會跳轉到下一頁
11         }
12     });

 

結論:

但是萬變不離其宗,如果有類型情況,排除多寫的跳轉下一步的方法,那么肯定是在重繪,重新init swiper 容器的時候出了什么問題,向着這個方向去找一定有結果的。

 

轉載注明出處,蟹蟹

 


免責聲明!

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



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