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 相关文章推荐
Js sort排序使用方法
Oct 17 Javascript
window.open 以post方式传递参数示例代码
Feb 27 Javascript
ie8下修改input的type属性报错的解决方法
Sep 16 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
May 11 Javascript
jquery序列化方法实例分析
Jun 10 Javascript
最全面的百度地图JavaScript离线版开发
Sep 10 Javascript
网络传输协议(http协议)
Nov 18 Javascript
JavaScript中localStorage对象存储方式实例分析
Jan 12 Javascript
webpack打包单页面如何引用的js
Jun 07 Javascript
CKeditor4 字体颜色功能配置方法教程
Jun 26 Javascript
JS实现放烟花效果
Mar 10 Javascript
手把手教你从零开始react+antd搭建项目
Jun 03 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
老照片 - 几十年前的收音机与人
2021/03/02 无线电
用php将任何格式视频转为flv的代码
2009/09/03 PHP
PHP自定义函数收代码
2010/08/01 PHP
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
php中使用array_filter()函数过滤空数组的实现代码
2014/08/19 PHP
PHP中使用匿名函数操作数据库的例子
2014/11/17 PHP
php实现随机显示图片方法汇总
2015/05/21 PHP
基于thinkPHP框架实现留言板的方法
2016/10/17 PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
2017/02/24 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
jquery ajax 登录验证实现代码
2009/09/23 Javascript
JS按位非(~)运算符与~~运算符的理解分析
2011/07/31 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
JSON+JavaScript处理JSON的简单例子
2013/03/20 Javascript
IE下JS读取xml文件示例代码
2013/08/05 Javascript
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
2015/01/09 Javascript
JavaScript匿名函数用法分析
2015/02/13 Javascript
JavaScript返回0-1之间随机数的方法
2015/04/06 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
Vue.js表单控件实践
2016/10/27 Javascript
JQuery学习总结【一】
2016/12/01 Javascript
js实现前端图片上传即时预览功能
2017/08/02 Javascript
SeaJS中use函数用法实例分析
2017/10/10 Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
2018/03/09 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
jQuery实现表单动态加减、ajax表单提交功能
2018/06/08 jQuery
跟老齐学Python之不要红头文件(1)
2014/09/28 Python
python批量添加zabbix Screens的两个脚本分享
2017/01/16 Python
使用Filter过滤python中的日志输出的实现方法
2019/07/17 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
2019/08/14 Python
jupyter 添加不同内核的操作
2021/02/06 Python
巴西网上药店:Drogaria Araujo
2021/01/06 全球购物
公司优秀员工获奖感言
2014/08/14 职场文书
辩论赛主持人开场白
2015/05/29 职场文书
只需要这一行代码就能让python计算速度提高十倍
2021/05/24 Python