bug描述:我在anjularjs 中使用了swiper輪播圖,通過動態獲取到數據插入swiper-slide中,我在swiper初始化中設置了loop(循環),但是在出現了一點小問題,swiper會失效,劃不動,當我設置固定的數據通過ng-src 插入到swiper-silde中,會正常輪播,但是第一張圖會出現空白。通過查詢了資料,發現swiper和angularjs執行的機制是不同的,swiper的機制是:初始化的時候自動掃描swiper-wrapper類下有多少個swiper-slide類塊,則允許滑動多少個塊。 而在angular始終在swiper初始化之后定義,swiper則無法正確scan有多少個slide(實際上找到一個待循環模板),所以劃不動。
我在網上搜了一點資料很多人都是通過添加兩個屬性就解決了,但我的還是不行,以下為插入的屬性。
observer:true,//修改swiper自己或子元素時,自動初始化swiperobserveParents:true,//修改swiper的父元素時,自動初始化swiper12
我通過在link中初始化swiper中添加延時計時器,可以解決,盡管我延遲的時間設置為0,但是正常的效果出現了,我也不知道什么問題,如果有人知道可以解答一下。
以下為我的代碼,html代碼如下
<div class="swiper-slide" ng-repeat="item in arr"> <img ng-src="img/{{item}}" alt="" /></div>指令中的代碼如下
link:function(){ setTimeout(function(){ var swiper=new Swiper(".swiper3",{ pagination: '.swiper-pagination3', paginationClickable: true, centeredSlides: true, autoplay: 2000, loop : true, autoplayDisableOnInteraction: false, }); },0); }以上這篇swiper在angularjs中使用循環輪播失效的解決方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持錯新站長站。
新聞熱點
疑難解答
圖片精選