AngularJS 中使用Swiper制作滚动图不能滑动的解决方法


Posted in Javascript onNovember 15, 2016

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自己或子元素时,自动初始化swiper
observeParents:true,//修改swiper的父元素时,自动初始化swiper
})

以上所述是小编给大家介绍的AngularJS 中使用Swiper制作滚动图不能滑动的解决方法,希望对大家有所帮助,如果大家有

任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
使用JQUERY Tabs插件宿主IFRAMES
Jan 01 Javascript
基于jquery的划词搜索实现(备忘)
Sep 14 Javascript
动感效果的TAB选项卡jquery 插件
Jul 09 Javascript
根据经纬度计算地球上两点之间的距离js实现代码
Mar 05 Javascript
javascript实现多级联动下拉菜单的方法
Feb 06 Javascript
基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片
Sep 06 Javascript
自动完成的搜索框javascript实现
Feb 26 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
Dec 30 Javascript
微信小程序实现禁止分享代码实例
Oct 19 Javascript
Vue程序化的事件监听器(实例方案详解)
Jan 07 Javascript
详谈Object.defineProperty 及实现数据双向绑定
Jul 18 Javascript
解决Antd Table表头加Icon和气泡提示的坑
Nov 17 Javascript
AngularJS extend用法详解及实例代码
Nov 15 #Javascript
Windows系统下安装Node.js的步骤图文详解
Nov 15 #Javascript
jQuery checkbox选中问题之prop与attr注意点分析
Nov 15 #Javascript
javascript实现消灭星星小游戏简单版
Nov 15 #Javascript
js滚轮事件兼容性问题需要注意哪些
Nov 15 #Javascript
禁用backspace网页回退功能的实现代码
Nov 15 #Javascript
sea.js常用的api简易文档
Nov 15 #Javascript
You might like
php array_walk() 数组函数
2011/07/12 PHP
php中防止恶意刷新页面的代码小结
2012/10/31 PHP
PHP5函数小全(分享)
2013/06/06 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
2014/08/20 PHP
php通过array_merge()函数合并两个数组的方法
2015/03/18 PHP
PHP异常处理Exception类
2015/12/11 PHP
js操作二级联动实现代码
2010/07/27 Javascript
jquery插件制作教程 txtHover
2012/08/17 Javascript
jquery indexOf使用方法
2013/08/19 Javascript
JS验证身份证有效性示例
2013/10/11 Javascript
jsPDF导出pdf示例
2014/05/02 Javascript
javascript实现获取服务器时间
2015/05/19 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
2017/02/20 Javascript
详解webpack提取第三方库的正确姿势
2017/12/22 Javascript
利用Angular2 + Ionic3开发IOS应用实例教程
2018/01/15 Javascript
完美解决axios跨域请求出错的问题
2018/02/05 Javascript
vue2.0 移动端实现下拉刷新和上拉加载更多的示例
2018/04/23 Javascript
webpack4 升级迁移的实现
2018/09/12 Javascript
新手入门js闭包学习过程解析
2019/10/08 Javascript
JS面向对象编程——ES6 中class的继承用法详解
2020/03/03 Javascript
[05:22]DOTA2 2015国际邀请赛中国区预选赛首日TOP10
2015/05/26 DOTA
Python enumerate索引迭代代码解析
2018/01/19 Python
python实现socket+threading处理多连接的方法
2019/07/23 Python
python实现将列表中各个值快速赋值给多个变量
2020/04/02 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
2020/11/06 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
2021/01/28 Python
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
西班牙英格列斯百货法国官网:El Corte Inglés法国
2017/07/09 全球购物
Looking4Parking美国:全球排名第一的机场停车比较品牌
2019/08/26 全球购物
电大自我鉴定
2013/10/27 职场文书
生产管理的三大手法
2013/11/11 职场文书
2015夏季作息时间调整通知
2015/04/24 职场文书
教师节联欢会主持词
2015/07/04 职场文书
学习经验交流会策划书
2015/11/02 职场文书
护士自荐信范文(2016推荐篇)
2016/01/28 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书