用的是vue-awesome-swiper 在vue項目中,參數方法與swiper一致。使用場景如下:

左側小圖一共八張,默認顯示的是三張,始終保持activeimg在中間,提升用戶體驗度。swiper容易就是為三張圖片的高度。
在官方文檔實例中,居中如下。

這樣的話,第一張圖片也是居中的,它的上面就會空出一張圖片的高度空白,看上去非常扎心。

官方的實例中,左側也是空白了一張圖的。也看見很多小伙伴在下面評論說到這個問題。本着不輕易將就的態度去嘗試解決。
其實解決思路就是,在第一張或者最后一張的時候手動去設置位移的距離。

注意不能將silde的高度寫死,設置了slidesPerView:3,slide會自適應的去適應容易的高度(三張圖片的高度)。
上門的init是解決初始化時候第一張圖片會居中,上面空白出一個slide的位置。所以直接設位移為0
每個計算出的sildeH 去三位小數精確,與dom中的slide高度0.1px都不差。
最終以這種方式完美解決了展現方式,不會留白造成空缺,主要是為了兼容到第一張和最后一張圖片。
后續: 在與elementui 的表格或者loading加載一起使用的時候,初始化的放大鏡圖片會以body來定位top值。導致放大鏡圖片上移。
解決:不直接插在document.body里,然后在整個商品圖模塊的外層div添加相對定位。
對於修改了依賴,也只能在我本地生效,所以干脆直接把picZoom.vue.拉到項目里來。代碼也不多。
實在是項目趕時間,其實完全可以自己寫一個放大器組件的,用慣了vue原生的js丟的差不多了是件很糟糕的事。

