AngularJS 中使用Swiper制作滾動(dòng)圖不能滑動(dòng)的解決方法
Swiper是目前較為流行的移動(dòng)端觸摸滑動(dòng)插件,因?yàn)槠浜唵魏糜靡咨鲜?,受到很多前端開發(fā)者的歡迎。
今天在使用Swiper的時(shí)候遇到這個(gè)問題:
使用angularjs動(dòng)態(tài)循環(huán)生成swiper-slide類,在swiper-wrapper里生成6個(gè)以上的滑動(dòng)頁,可是就是劃不到第二頁,嘗試將longSwipesRatio的值修改到最小,仍然不起作用。
<div class="swiper-wrapper" > <!-- =======循環(huán)部分======= --> <div class="swiper-slide" ng-repeat="result in mediaList"> //此處為一個(gè)滑動(dòng)頁內(nèi)容 </div> <!-- ============== --> </div> </div>
在測(cè)試時(shí)發(fā)現(xiàn),手動(dòng)復(fù)制n個(gè)循環(huán)部分,則可以滑動(dòng)n個(gè)塊;手動(dòng)調(diào)節(jié)窗口大小,使頁面文檔發(fā)生改變(動(dòng)態(tài)響應(yīng))后,可以正?;瑒?dòng)。
于是猜測(cè)swiper的機(jī)制是:初始化的時(shí)候自動(dòng)掃描swiper-wrapper類下有多少個(gè)swiper-slide類塊,則允許滑動(dòng)多少個(gè)塊。 而在angular始終在swiper初始化之后定義,swiper則無法正確scan有多少個(gè)slide(實(shí)際上找到一個(gè)待循環(huán)模板),所以劃不動(dòng)。
找到原因后,只須對(duì)癥下藥。 在查閱Swiper的API時(shí)發(fā)現(xiàn),有這樣兩個(gè)參數(shù):observer和observeParents,前者啟動(dòng)動(dòng)態(tài)檢查器,當(dāng)改變swiper的樣式(例如隱藏/顯示)或者修改swiper的子元素時(shí),自動(dòng)初始化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自己或子元素時(shí),自動(dòng)初始化swiper
observeParents:true,//修改swiper的父元素時(shí),自動(dòng)初始化swiper
})
以上所述是小編給大家介紹的AngularJS 中使用Swiper制作滾動(dòng)圖不能滑動(dòng)的解決方法,希望對(duì)大家有所幫助,如果大家有
任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
RequireJS 依賴關(guān)系的實(shí)例(推薦)
下面小編就為大家?guī)硪黄猂equireJS 依賴關(guān)系的實(shí)例(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01
AngularJs html compiler詳解及示例代碼
本文主要介紹AngularJs html compiler的知識(shí)講解,這里整理了相關(guān)資料及相關(guān)示例代碼,有興趣的小伙伴可以參考下2016-09-09
詳解什么是@ngrx/store開發(fā)包中的MemoizedSelector
這篇文章主要為大家介紹了@ngrx/store開發(fā)包中的MemoizedSelector使用分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
Angular刷新當(dāng)前頁面的實(shí)現(xiàn)方法
這篇文章主要介紹了Angular刷新當(dāng)前頁面的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11
AngularJS基礎(chǔ)學(xué)習(xí)筆記之控制器
在AngularJS中,控制器是一個(gè)Javascript函數(shù)(類型/類),用來增強(qiáng)除了根作用域意外的作用域?qū)嵗?。?dāng)你或者AngularJS本身通過<code>scope.$new</code>倆創(chuàng)建一個(gè)新的子作用域?qū)ο髸r(shí),有一個(gè)選項(xiàng)能讓你將它當(dāng)做參數(shù)傳遞給控制器。2015-05-05
使用Angular CLI進(jìn)行Build(構(gòu)建)和Serve詳解
這篇文章主要介紹了使用Angular CLI進(jìn)行Build(構(gòu)建)和Serve詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03

