移動端swiper.js中的坑------你怎能錯過!!!!
阿新 • • 發佈:2018-12-30
最近有個移動端日曆的專案,要求有以下幾點:
1,觸屏左右切換;
2,點選上方按鈕左右切換;
3,觸屏和點選上方按鈕是同步的;(如下圖:點選上面的‘9月’,是可以切換噹噹前月,觸屏滑動日曆也是可以切換的)
步驟:
1,渲染日曆:日曆是自己開發的(注意幾點:1,獲得當前日期;2,一個月多少天;3,閏月情況;4,每個月1號是禮拜幾;。。。)
2,因專案比較近,所以採用了swiper.js控制元件來做滑動效果;
問題:
1,首先遇到的是在ios上測試是沒有問題的,包括UC,百度等瀏覽器;不過在魅族,華為手機上測試出現問題了-----不能來回切換;
解決方法:考慮到應該是相容性問題,於是乎查詢swiper.js官方文件,因為當時只是引用了swiper.js,而沒有引入swiper.css和swiper.animate.js;
重新引入後,ok了,問題得到解決;
<link rel="stylesheet" href="../../styles/library/swiper.min.css"/>
<script src="../../scripts/common/swiper-3.3.1.min.js"></script>
<script src="../../scripts/common/swiper.animate.min.js"></script>
2,引入需要的檔案後,發現ios和安卓瀏覽器是沒有問題的,但是,安卓app裡又出現問題了,來回切換不流暢,此時自己也是百度了一下,沒有找到解決方法
最後還得看官方文件,檢視屬性和方法
解決方案:
// 輪播圖--左右滑動和切換 var mySwiper = new Swiper('.swiper-container',{ pagination: '.pagination', loop:false, mode: 'horizontal', freeMode:false, touchRatio:0.5, longSwipesRatio:0.1, threshold:50, followFinger:false, observer: true,//修改swiper自己或子元素時,自動初始化swiper observeParents: true,//修改swiper的父元素時,自動初始化swiper onSlideChangeEnd:function(swiper){ // 當滑動結束後---月份日期切換同步左右左右切換 changeMonth(); } });
注意:初始化的時候新增的這幾個屬性,有不明白的可以檢視官方文件;
溫馨提示:swper.js我用的3xxx版本以上的,各個版本差別還是挺大的!
更新下:現在已經把這個專案放到我github上了,只是一個簡單的demo,大家可以看下
https://hzaini1989.github.io/project/inde.html