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之appendChild、insertBefore和insertAfter使用说明
Dec 30 Javascript
jQuery当鼠标悬停时放大图片的效果实例
Jul 03 Javascript
Checbox的操作含已选、未选及判断代码
Nov 07 Javascript
jquery解决客户端跨域访问问题
Jan 06 Javascript
JavaScript中的对象与JSON
Jul 03 Javascript
Bootstrap布局组件应用实例讲解
Feb 17 Javascript
javascript 正则表达式去空行方法
Jan 24 Javascript
node.js 中间件express-session使用详解
May 20 Javascript
纯JS实现简单的日历
Jun 26 Javascript
vue-cli单页应用改成多页应用配置详解
Jul 14 Javascript
bootstrap Table实现合并相同行
Jul 19 Javascript
简述vue-cli中chainWebpack的使用方法
Jul 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版微信公众平台实现预约提交后发送email的方法
2016/09/26 PHP
PHP实现的简单操作SQLite数据库类与用法示例
2017/06/19 PHP
ajax无刷新动态调用股票信息(改良版)
2008/11/01 Javascript
JavaScript面向对象之体会[总结]
2008/11/13 Javascript
JavaScript写的一个DIV 弹出网页对话框
2009/08/14 Javascript
js jquery数组介绍
2012/07/15 Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
2012/10/11 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
extJS中常用的4种Ajax异步提交方式
2014/03/07 Javascript
js获取页面传来参数的方法
2014/09/06 Javascript
nodejs教程之入门
2014/11/21 NodeJs
AngularJS基础知识笔记之过滤器
2015/05/10 Javascript
关于JavaScript限制字数的输入框的那些事
2016/08/14 Javascript
jquery控制页面的展开和隐藏实现方法(推荐)
2016/10/15 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
详解Vue-Cli 异步加载数据的一些注意点
2017/08/12 Javascript
JavaScript实现换肤功能
2017/09/15 Javascript
浅析Angular19 自定义表单控件
2018/01/31 Javascript
小程序图片剪裁加旋转的示例代码
2018/07/10 Javascript
详解React项目如何修改打包地址(编译输出文件地址)
2019/03/21 Javascript
JS图片懒加载技术实现过程解析
2020/07/27 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
Python实现的监测服务器硬盘使用率脚本分享
2014/11/07 Python
Python写的Tkinter程序屏幕居中方法
2015/03/10 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
python中tkinter的应用:修改字体的实例讲解
2019/07/17 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
html5视频媒体标签video的使用方法及完整参数说明详解
2019/09/27 HTML / CSS
英国顶级珠宝品牌之家:John Greed
2018/06/09 全球购物
美国沙龙美发产品购物网站:Hair.com by L’Oreal
2020/11/09 全球购物
《值日生》教学反思
2014/02/17 职场文书
2014年班干部工作总结
2014/11/25 职场文书
文明单位汇报材料
2014/12/24 职场文书
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
2021/05/25 Vue.js
win10系统计算机图标怎么调出来?win10调出计算机图标的方法
2022/08/14 数码科技