vue swiper 元件切換tab後自動輪播失效,手動滑一下才自動輪播生效的問題
vue swiper 元件切換tab後自動輪播失效,手動滑一下才自動輪播生效的問題
在網上找了好多解決方案
類似於 {
observer:true
observerParents:true
} 這兩個配置,設定和沒設定沒有任何卻別,不解決問題,不生效
1.問題產生原因
輪播圖自動輪播需要通過settimeout記錄輪播到那一幀與這一幀的時間戳,來回切換tab導致這部分輪播元件的dom消失又顯示,因此settimeout觸發器消失,無法知道下一幀到哪裡,所以自動輪播停止。
2. 解決方案
-
不需要keep-alive快取的情況:每一次切換tab,重新渲染元件,不要快取,這樣輪播圖每次進頁面會初始化一次,即可解決問題
-
需要 keep-alive 快取:比如元件套在列表裡,列表需要快取,而輪播也受到外層keep-alive的影響。此時看程式碼
```javascirpt dom 部分 簡寫 <swiper :options="swiperOption" ref="mySwiper"> <swiper-slide > ...... </swiper-slide> </swiper> computed:{ swiper(){ return this.$refs.mySwiper.swiper } }, activated(){ this.swiper.slideTo(0,0) 引數:跳轉到那個圖,時間是多少 this.swiper.autoplay.start() 開始輪播 }, deactivated(){ this.swiper.autoplay.stop() 停止輪播 } 邏輯就是在切換tab時將當前tab的輪播圖暫停,目標頁輪播圖開啟 this.swiper.slideTo(0,0) 的目的是解決在輪播圖輪播中切換tab導致輪播圖自動切換死掉的問題,相當於初始化一下。 ```
-
暴力一點,在切換tab時直接把該部分元件dom 刪除掉,切換回來的時候再載入出來,該問題也可以得到解決。
相關文章
- Vue 仿咕咚運動Swiper輪播Vue
- 雙輪播加切換動畫效果元件動畫元件
- Flutter 拆輪子之flutter_swiper自動無線輪播卡片Flutter
- 直播軟體搭建,橫版自動滑動的輪播圖
- 小說APP原始碼,手動滑動輪播圖時,輪播圖跟隨移動APP原始碼
- vue3 使用swiper輪播元件Vue元件
- 直播平臺製作,ViewPager自動輪播,手指按住停止輪播Viewpager
- 成品直播原始碼,輪播圖無縫切換以及自動懸停原始碼
- 直播軟體app開發,左右自動滑動的輪播圖廣告APP
- Vue實現內部元件輪播切換效果Vue元件
- 造輪子之圖片輪播元件(swiper)元件
- Swiper輪播檢視器
- 手動實現輪播圖(二):迴圈滾動、定時切換與指示器
- css實現滾動輪播CSS
- 2020 用html jQuery實現廣告輪播圖自動切換 滾動頁面 滑鼠懸浮下標且左右切換圖片HTMLjQuery
- 微信小程式swiper輪播圖卡死來回瘋狂輪播微信小程式
- 不到200行用Vue實現類似Swiper.js的輪播元件VueJS元件
- 解決ionic2/ionic3輪播圖切換頁面或者點選過後不自動輪圖
- layui 輪播圖動態資料不顯示問題UI
- 直播app開發,實現輪播圖上下自動滑動展示效果APP
- vue輪播圖Vue
- vue元件之輪播圖的實現Vue元件
- Flutter 篇 輪播圖 flutter_swiperFlutter
- react無縫滾動輪播圖React
- 使用JavaScript設定Tab欄自動切換JavaScript
- vue元件之路之輪播圖的實現Vue元件
- flutter好用的輪子推薦三-超強輪播圖SwiperFlutter
- 微信小程式之swiper輪播圖中的圖片自適應高度微信小程式
- BtCarousel輪播元件 - 一款易於使用,定製化的輪播元件元件
- CSS動畫之旋轉魔方輪播CSS動畫
- vue 實現tab切換動態載入不同的元件Vue元件
- 直播平臺原始碼,純JS實現左右滑動輪播圖原始碼JS
- 直播系統原始碼,點選滾動的輪播圖自動跳轉到相應頁原始碼
- jQuery輪播圖之上下輪播jQuery
- 關於在swiper輪播元件中使用echarts的'click'事件無效元件Echarts事件
- vue路由切換滑動效果Vue路由
- Flutter教程-自定義無限滾動輪播器infinity_slider-增加多輪播巢狀聯動功能(二)FlutterIDE巢狀
- 微信輪播圖自適應高度