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 相关文章推荐
javascript向flash swf文件传递参数值注意细节
Dec 11 Javascript
jQuery插件实现多级联动菜单效果
Dec 01 Javascript
jQuery验证插件validate使用方法详解
Sep 13 Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
Jun 16 Javascript
详解JavaScript节流函数中的Throttle
Jul 16 Javascript
jquery点击切换背景色的简单实例
Aug 25 Javascript
JavaScript 控制字体大小设置的方法
Nov 23 Javascript
JavaScript实现的数字与字符串转换功能示例
Aug 23 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
Sep 20 Javascript
js删除数组中的元素delete和splice的区别详解
Feb 03 Javascript
vue实现点击追加选中样式效果
Nov 01 Javascript
vue项目,代码提交至码云,iconfont的用法说明
Jul 30 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_pop() - 删除数组中的最后一个元素
2011/11/07 PHP
MySQL时间字段究竟使用INT还是DateTime的说明
2012/02/27 PHP
PHP防止刷新重复提交页面的示例代码
2015/11/11 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
Yii2.0实现生成二维码功能实例
2017/10/24 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
fromCharCode和charCodeAt 方法
2006/12/27 Javascript
setTimeout与setInterval在不同浏览器下的差异
2010/01/24 Javascript
NodeJS创建基础应用并应用模板引擎
2016/04/12 NodeJs
JS取数字小数点后两位或n位的简单方法
2016/10/24 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
微信小程序 生命周期函数详解
2017/05/24 Javascript
JavaScript基础之流程控制语句的用法
2017/08/31 Javascript
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
JavaScript基础之静态方法和实例方法分析
2018/12/26 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
2019/12/19 Javascript
python对url格式解析的方法
2015/05/13 Python
python模块之re正则表达式详解
2017/02/03 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
2017/08/15 Python
python3 实现对图片进行局部切割的方法
2018/12/05 Python
python opencv 图像拼接的实现方法
2019/06/27 Python
搭建python django虚拟环境完整步骤详解
2019/07/08 Python
简单了解python中的与或非运算
2019/09/18 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
TripAdvisor印尼站:全球领先的旅游网站
2018/03/15 全球购物
彪马土耳其官网:PUMA土耳其
2019/07/14 全球购物
金蝶的一道SQL笔试题
2012/12/18 面试题
销售人员获奖感言
2014/02/05 职场文书
批评与自我批评材料
2014/02/15 职场文书
《落花生》教学反思
2014/02/25 职场文书
活动总结怎么写啊
2014/05/07 职场文书
家庭财产分割协议范文
2014/11/24 职场文书
社会心理学学习心得体会
2016/01/22 职场文书
2019职场单身人才调研报告:互联网行业单身比例最高
2019/08/07 职场文书