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 异步方法队列链实现代码分析
Jun 05 Javascript
最常见的左侧分类菜单栏jQuery实现代码
Nov 28 Javascript
移动端点击态处理的三种实现方式
Jan 12 Javascript
JavaScript中的遍历详解(多种遍历)
Apr 07 Javascript
JS库之Three.js 简易入门教程(详解之一)
Sep 13 Javascript
vue-cli webpack2项目打包优化分享
Feb 07 Javascript
JS限制输入框输入的实现代码
Jul 02 Javascript
Vue 与 Vuex 的第一次接触遇到的坑
Aug 16 Javascript
JS监听组合按键思路及实现过程
Apr 17 Javascript
解决Vue router-link绑定事件不生效的问题
Jul 22 Javascript
使用vant的地域控件追加全部选项
Nov 03 Javascript
教你部署vue项目到docker
Apr 05 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
1.PHP简介
2006/10/09 PHP
PHP 上传文件的方法(类)
2009/07/30 PHP
PHP命名空间(Namespace)简明教程
2014/06/11 PHP
jquery+php实现导出datatables插件数据到excel的方法
2015/07/06 PHP
thinkphp多层MVC用法分析
2015/12/30 PHP
PHP使用Redis实现防止大并发下二次写入的方法
2017/10/09 PHP
js 单引号 传递方法
2009/06/22 Javascript
Ext.MessageBox工具类简介
2009/12/10 Javascript
node.js不得不说的12点内容
2014/07/14 Javascript
Jquery 实现图片轮换
2015/01/28 Javascript
详解JavaScript逻辑And运算符
2015/12/04 Javascript
原生javascript实现解析XML文档与字符串
2016/03/01 Javascript
js图片轮播插件的封装
2017/07/21 Javascript
详解使用jest对vue项目进行单元测试
2018/09/07 Javascript
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
Vue中全局变量的定义和使用
2019/06/05 Javascript
vue+element-ui+axios实现图片上传
2019/08/20 Javascript
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
2020/04/08 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
[01:11]辉夜杯战队访谈宣传片—CDEC.Y
2015/12/26 DOTA
python正则表达式修复网站文章字体不统一的解决方法
2013/02/21 Python
Python浅拷贝与深拷贝用法实例
2015/05/09 Python
从CentOS安装完成到生成词云python的实例
2017/12/01 Python
详解Django+Uwsgi+Nginx 实现生产环境部署
2018/11/06 Python
python验证身份证信息实例代码
2019/05/06 Python
python网络编程socket实现服务端、客户端操作详解
2020/03/24 Python
Python带参数的装饰器运行原理解析
2020/06/09 Python
python操作ini类型配置文件的实例教程
2020/10/30 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
2021/02/03 Python
HTML5 Canvas基本线条绘制的实例教程
2016/03/17 HTML / CSS
体育专业个人的求职信范文
2013/09/21 职场文书
竞选班长演讲稿
2013/12/30 职场文书
2014年预备党员学习两会心得体会
2014/03/17 职场文书
施工安全员岗位职责
2015/04/11 职场文书
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle
一次MySQL启动导致的事故实战记录
2021/09/15 MySQL