AngularJS 中使用Swiper製作滾動圖不能滑動的解決方案_AngularJS

來源:互聯網
上載者:User

Swiper是目前較為流行的移動端觸摸滑動外掛程式,因為其簡單好用易上手,受到很多前端開發人員的歡迎。

今天在使用Swiper的時候遇到這個問題:

使用angularjs動態迴圈產生swiper-slide類,在swiper-wrapper裡產生6個以上的滑動頁,可是就是劃不到第二頁,嘗試將longSwipesRatio的值修改到最小,仍然不起作用。

<div class="swiper-wrapper" ><!-- =======迴圈部分======= --><div class="swiper-slide" ng-repeat="result in mediaList">//此處為一個滑動頁內容</div> <!-- ============== --></div></div>

在測試時發現,手動複製n個迴圈部分,則可以滑動n個塊;手動調節視窗大小,使頁面文檔發生改變(動態響應)後,可以正常滑動。

於是猜測swiper的機制是:初始化的時候自動掃描swiper-wrapper類下有多少個swiper-slide類塊,則允許滑動多少個塊。 而在angular始終在swiper初始化之後定義,swiper則無法正確scan有多少個slide(實際上找到一個待迴圈模板),所以劃不動。

找到原因後,只須對症下藥。 在查閱Swiper的API時發現,有這樣兩個參數:observer和observeParents,前者啟動動態檢查器,當改變swiper的樣式(例如隱藏/顯示)或者修改swiper的子項目時,自動初始化swiper。後者原理和前者一樣,只是將observe應用於Swiper的父元素。兩者預設值都為false。 所以在原來的swiper初始化代碼中加上這兩行即可。

var mySwiper = new Swiper('.swiper-container',{pagination : '.swiper-pagination',paginationClickable: true,longSwipesRatio: 0.3,touchRatio:1,observer:true,//修改swiper自己或子項目時,自動初始化swiperobserveParents:true,//修改swiper的父元素時,自動初始化swiper})

以上所述是小編給大家介紹的AngularJS 中使用Swiper製作滾動圖不能滑動的解決方案,希望對大家有所協助,如果大家有

任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對雲棲社區網站的支援!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.