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实现拖拽 闭包函数详细介绍
Nov 25 Javascript
AngularJS数据源的多种获取方式汇总
Feb 02 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
Mar 30 Javascript
JS从一组数据中找到指定的单条数据的方法
Jun 02 Javascript
微信小程序 检查接口状态实例详解
Jun 23 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
Dec 06 Javascript
vue中使用ueditor富文本编辑器
Feb 08 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
Mar 19 Javascript
react中Suspense的使用详解
Sep 01 Javascript
深入浅出vue图片路径的实现
Sep 04 Javascript
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
Feb 12 Javascript
jquery自定义组件实例详解
Dec 31 jQuery
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数组 为文章加关键字连接 文章内容自动加链接
2011/12/29 PHP
PHP利用MySQL保存session的实现思路及示例代码
2014/09/09 PHP
前端必学之PHP语法基础
2016/01/01 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
js 绑定带参数的事件以及手动触发事件
2010/04/27 Javascript
jquery异步请求实例代码
2011/06/21 Javascript
JQuery写动态树示例代码
2013/07/31 Javascript
jQuery实现单击和鼠标感应事件
2015/02/01 Javascript
JavaScript前补零操作实例
2015/03/11 Javascript
js实现div层缓慢收缩与展开的方法
2015/05/11 Javascript
JS+CSS实现另类带提示效果的竖向导航菜单
2015/10/15 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
JS中实现函数return多个返回值的实例
2017/02/21 Javascript
BootStrap的双日历时间控件使用
2017/07/25 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
JS轮播图的实现方法
2020/08/24 Javascript
[00:32]2018DOTA2亚洲邀请赛OpTic出场
2018/04/03 DOTA
深入解析Python中的集合类型操作符
2015/08/19 Python
Python实现打印螺旋矩阵功能的方法
2017/11/21 Python
Python 限制线程的最大数量的方法(Semaphore)
2019/02/22 Python
Python跳出多重循环的方法示例
2019/07/03 Python
解决Jupyter因卸载重装导致的问题修复
2020/04/10 Python
Farfetch台湾官网:奢侈品牌时尚购物平台
2019/06/17 全球购物
Nip + Fab官网:英国美容品牌
2019/08/26 全球购物
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
成人教育自我鉴定
2013/11/01 职场文书
物业管理计划书
2014/01/10 职场文书
创业计划书如何吸引他人眼球
2014/01/10 职场文书
干部培训自我鉴定
2014/01/22 职场文书
信息服务专业毕业生求职信
2014/03/02 职场文书
国旗下的演讲稿
2014/05/08 职场文书
乔布斯斯坦福大学演讲稿
2014/05/23 职场文书
面试通知单大全
2015/04/20 职场文书
2015年保险公司内勤工作总结
2015/05/23 职场文书