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读取ASP设定的COOKIE
Feb 15 Javascript
$.format,jquery.format 使用说明
Jul 13 Javascript
js URL参数的拼接方法比较
Feb 15 Javascript
js控制浏览器全屏示例代码
Feb 20 Javascript
一款由jquery实现的整屏切换特效
Sep 15 Javascript
jQuery中size()方法用法实例
Dec 27 Javascript
JS实现CheckBox复选框全选、不选或全不选功能
Jul 28 Javascript
微信小程序 教程之小程序配置
Oct 17 Javascript
JavaScript实现的可变动态数字键盘控件方式实例代码
Jul 15 Javascript
BootStrap的双日历时间控件使用
Jul 25 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
Jul 31 Javascript
vue使用better-scroll实现滑动以及左右联动
Jun 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的开发框架的现状和展望
2007/03/16 PHP
PHP setTime 设置当前时间的代码
2012/08/27 PHP
IIS安装Apache伪静态插件的具体操作图文
2013/07/01 PHP
ThinkPHP使用心得分享-分页类Page的用法
2014/05/15 PHP
php基于闭包实现函数的自调用(递归)实例分析
2016/11/11 PHP
通过PHP设置BugFree获取邮箱通知
2019/04/25 PHP
jquery ui resizable bug解决方法
2010/10/26 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
2014/05/12 Javascript
详谈JavaScript内存泄漏
2014/11/14 Javascript
在JavaScript中操作数组之map()方法的使用
2015/06/09 Javascript
浅谈js中对象的使用
2016/08/11 Javascript
JavaScript类的写法
2016/09/17 Javascript
vue.js系列中的vue-fontawesome使用
2018/02/10 Javascript
200行代码实现blockchain 区块链实例详解
2018/03/14 Javascript
layui实现table加载的示例代码
2018/08/14 Javascript
angular组件间传值测试的方法详解
2020/05/07 Javascript
[04:29]2014DOTA2国际邀请赛 主赛事第三日TOPPLAY
2014/07/21 DOTA
[01:02:45]完美世界DOTA2联赛 LBZS vs Forest 第三场 11.07
2020/11/09 DOTA
Python中使用PDB库调试程序
2015/04/05 Python
Python使用redis pool的一种单例实现方式
2016/04/16 Python
python使用KNN算法手写体识别
2018/02/01 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
python+opencv实现高斯平滑滤波
2020/07/21 Python
Python面向对象之类的定义与继承用法示例
2019/01/14 Python
TensorFlow2.X结合OpenCV 实现手势识别功能
2020/04/08 Python
Pytorch 中的optimizer使用说明
2021/03/03 Python
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
利用CSS3动画实现圆圈由小变大向外扩散的效果实例
2018/09/10 HTML / CSS
HTML5和以前HTML4的区别整理
2013/10/20 HTML / CSS
小学生红领巾广播稿
2014/01/21 职场文书
医务人员自我评价
2014/01/26 职场文书
《望洞庭》教学反思
2014/02/16 职场文书
酒店管理专业毕业生自我鉴定
2014/09/29 职场文书
毕业生自荐材料范文
2014/12/30 职场文书
先进教师个人总结
2015/02/11 职场文书
pytorch加载预训练模型与自己模型不匹配的解决方案
2021/05/13 Python