AngularJS 中使用Swiper制作滾動圖不能滑動的解決方法
Swiper是目前較為流行的移動端觸摸滑動插件,因為其簡單好用易上手,受到很多前端開發(fā)者的歡迎。
今天在使用Swiper的時候遇到這個問題:
使用angularjs動態(tài)循環(huán)生成swiper-slide類,在swiper-wrapper里生成6個以上的滑動頁,可是就是劃不到第二頁,嘗試將longSwipesRatio的值修改到最小,仍然不起作用。
<div class="swiper-wrapper" > <!-- =======循環(huán)部分======= --> <div class="swiper-slide" ng-repeat="result in mediaList"> //此處為一個滑動頁內(nèi)容 </div> <!-- ============== --> </div> </div>
在測試時發(fā)現(xiàn),手動復(fù)制n個循環(huán)部分,則可以滑動n個塊;手動調(diào)節(jié)窗口大小,使頁面文檔發(fā)生改變(動態(tài)響應(yīng))后,可以正?;瑒?。
于是猜測swiper的機(jī)制是:初始化的時候自動掃描swiper-wrapper類下有多少個swiper-slide類塊,則允許滑動多少個塊。 而在angular始終在swiper初始化之后定義,swiper則無法正確scan有多少個slide(實際上找到一個待循環(huán)模板),所以劃不動。
找到原因后,只須對癥下藥。 在查閱Swiper的API時發(fā)現(xiàn),有這樣兩個參數(shù):observer和observeParents,前者啟動動態(tài)檢查器,當(dāng)改變swiper的樣式(例如隱藏/顯示)或者修改swiper的子元素時,自動初始化swiper。后者原理和前者一樣,只是將observe應(yīng)用于Swiper的父元素。兩者默認(rèn)值都為false。 所以在原來的swiper初始化代碼中加上這兩行即可。
var mySwiper = new Swiper('.swiper-container',{ pagination : '.swiper-pagination', paginationClickable: true, longSwipesRatio: 0.3, touchRatio:1, observer:true,//修改swiper自己或子元素時,自動初始化swiper observeParents:true,//修改swiper的父元素時,自動初始化swiper })
以上所述是小編給大家介紹的AngularJS 中使用Swiper制作滾動圖不能滑動的解決方法,希望對大家有所幫助,如果大家有
任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
AngularJS使用ngMessages進(jìn)行表單驗證
這篇文章主要介紹了AngularJS使用ngMessages進(jìn)行表單驗證的相關(guān)資料,需要的朋友可以參考下2015-12-12詳解AngularJs HTTP響應(yīng)攔截器實現(xiàn)登陸、權(quán)限校驗
本篇文章主要介紹了AngularJs HTTP響應(yīng)攔截器實現(xiàn)登陸、權(quán)限校驗,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-04-04AngularJS基礎(chǔ) ng-options 指令詳解
本文主要介紹AngularJS ng-options 指令,這里對ng-options指令的知識做了詳細(xì)整理,并附有詳細(xì)的代碼示例,有需要的小伙伴可以參考下2016-08-08angularjs的select使用及默認(rèn)選中設(shè)置
本篇文章主要介紹了angularjs的select使用及默認(rèn)選中設(shè)置,非常具有實用價值,需要的朋友可以參考下2017-04-04基于Angular 8和Bootstrap 4實現(xiàn)動態(tài)主題切換的示例代碼
這篇文章主要介紹了基于Angular 8和Bootstrap 4實現(xiàn)動態(tài)主題切換的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02