swiper在angularjs中使用循環(huán)輪播失效的解決方法
bug描述:我在anjularjs 中使用了swiper輪播圖,通過動態(tài)獲取到數據插入swiper-slide中,我在swiper初始化中設置了loop(循環(huán)),但是在出現(xiàn)了一點小問題,swiper會失效,劃不動,當我設置固定的數據通過ng-src 插入到swiper-silde中,會正常輪播,但是第一張圖會出現(xiàn)空白。通過查詢了資料,發(fā)現(xiàn)swiper和angularjs執(zhí)行的機制是不同的,swiper的機制是:初始化的時候自動掃描swiper-wrapper類下有多少個swiper-slide類塊,則允許滑動多少個塊。 而在angular始終在swiper初始化之后定義,swiper則無法正確scan有多少個slide(實際上找到一個待循環(huán)模板),所以劃不動。
我在網上搜了一點資料很多人都是通過添加兩個屬性就解決了,但我的還是不行,以下為插入的屬性。
observer:true,//修改swiper自己或子元素時,自動初始化swiper observeParents:true,//修改swiper的父元素時,自動初始化swiper12
我通過在link中初始化swiper中添加延時計時器,可以解決,盡管我延遲的時間設置為0,但是正常的效果出現(xiàn)了,我也不知道什么問題,如果有人知道可以解答一下。
以下為我的代碼,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中使用循環(huán)輪播失效的解決方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
angular中的http攔截器Interceptors的實現(xiàn)
本篇文章主要介紹了angular中的http攔截器Interceptors的實現(xiàn)的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-02-02AngularJS自定義插件實現(xiàn)網站用戶引導功能示例
這篇文章主要介紹了AngularJS自定義插件實現(xiàn)網站用戶引導功能,結合實例形式分析了AngularJS自定義插件的實現(xiàn)步驟與相關功能技巧,需要的朋友可以參考下2016-11-11AngularJS基礎 ng-keypress 指令簡單示例
本文主要介紹AngularJS ng-keypress 指令,這里幫大家整理了基礎資料,并附是示例代碼,有需要的小伙伴可以參考下2016-08-08