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自己写tab滑动门(通用版)
Oct 30 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
Mar 27 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
Feb 23 Javascript
微信小程序 条件渲染详解
Oct 09 Javascript
js实现打地鼠小游戏
Feb 13 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
May 16 Javascript
vue webpack打包后图片路径错误的完美解决方法
Dec 07 Javascript
Vue入门之数量加减运算操作示例
Dec 11 Javascript
微信小程序通过js实现瀑布流布局详解
Aug 28 Javascript
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
Apr 03 Javascript
openlayers 3实现车辆轨迹回放
Sep 24 Javascript
vue如何实现关闭对话框后刷新列表
Apr 08 Vue.js
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实现框架(二)
2006/10/09 PHP
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
邮箱正则表达式实现代码(针对php)
2013/06/21 PHP
thinkphp3.0输出重复两次的解决方法
2014/12/19 PHP
eclipse php wamp配置教程
2016/06/30 PHP
PHP基于Closure类创建匿名函数的方法详解
2017/08/17 PHP
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
2016/09/04 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
js实现3D图片展示效果
2017/03/09 Javascript
ES6正则表达式的一些新功能总结
2017/05/09 Javascript
jQuery 实现双击编辑表格功能
2017/06/19 jQuery
IntelliJ IDEA 安装vue开发插件的方法
2017/11/21 Javascript
vue自动化表单实例分析
2018/05/06 Javascript
JS实现字符串中去除指定子字符串方法分析
2018/05/17 Javascript
小程序转发探索示例
2019/02/19 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
JS实现斐波那契数列的五种方式(小结)
2020/09/09 Javascript
Python 随机生成中文验证码的实例代码
2013/03/20 Python
python文件操作相关知识点总结整理
2016/02/22 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
2018/08/02 Python
python Flask 装饰器顺序问题解决
2018/08/08 Python
基于python实现计算两组数据P值
2020/07/10 Python
canvas实现飞机打怪兽射击小游戏的示例代码
2018/07/09 HTML / CSS
详解HTML5.2版本带来的修改
2020/05/06 HTML / CSS
Jabra捷波朗美国官网:用于办公、车载和运动的无线蓝牙耳麦
2017/02/01 全球购物
英国领先的高级美容和在线皮肤诊所:Face the Future
2020/06/17 全球购物
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
2014/11/09 面试题
英文版销售经理个人求职信
2013/11/20 职场文书
黄金搭档广告词
2014/03/21 职场文书
安全伴我行演讲稿
2014/09/04 职场文书
干部考察材料范文
2014/12/24 职场文书
辞职信怎么写
2015/02/27 职场文书
军事理论课感想
2015/08/11 职场文书
Nginx配置之实现多台服务器负载均衡
2021/08/02 Servers