AngularJS 中使用Swiper制作滚动图不能滑动的解决方法

 更新时间:2016年11月15日 14:42:19   投稿:mrr  
Swiper是目前较为流行的移动端触摸滑动插件,因为其简单好用易上手,受到很多前端开发者的欢迎。这篇文章主要介绍了AngularJS 中使用Swiper制作滚动图不能滑动的解决方法,需要的朋友可以参考下

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制作滚动图不能滑动的解决方法,希望对大家有所帮助,如果大家有

任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • angular过滤器实现排序功能

    angular过滤器实现排序功能

    这篇文章主要为大家详细介绍了angular过滤器实现排序功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • AngularJS Module方法详解

    AngularJS Module方法详解

    AngularJS中的Module类负责定义应用如何启动,它还可以通过声明的方式定义应用中的各个片段。我们来看看它是如何实现这些功能的
    2015-12-12
  • RequireJS 依赖关系的实例(推荐)

    RequireJS 依赖关系的实例(推荐)

    下面小编就为大家带来一篇RequireJS 依赖关系的实例(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • AngularJs html compiler详解及示例代码

    AngularJs html compiler详解及示例代码

    本文主要介绍AngularJs html compiler的知识讲解,这里整理了相关资料及相关示例代码,有兴趣的小伙伴可以参考下
    2016-09-09
  • 详解什么是@ngrx/store开发包中的MemoizedSelector

    详解什么是@ngrx/store开发包中的MemoizedSelector

    这篇文章主要为大家介绍了@ngrx/store开发包中的MemoizedSelector使用分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Angular刷新当前页面的实现方法

    Angular刷新当前页面的实现方法

    这篇文章主要介绍了Angular刷新当前页面的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • Angular中响应式表单的三种更新值方法详析

    Angular中响应式表单的三种更新值方法详析

    这篇文章主要给大家详细解析了关于Angular中响应式表单的三种更新值方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-08-08
  • AngularJS基础学习笔记之控制器

    AngularJS基础学习笔记之控制器

    在AngularJS中,控制器是一个Javascript函数(类型/类),用来增强除了根作用域意外的作用域实例的。当你或者AngularJS本身通过<code>scope.$new</code>俩创建一个新的子作用域对象时,有一个选项能让你将它当做参数传递给控制器。
    2015-05-05
  • AngularJS之依赖注入模拟实现

    AngularJS之依赖注入模拟实现

    这篇文章主要为大家详细介绍了AngularJS依赖注入模拟实现,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • 使用Angular CLI进行Build(构建)和Serve详解

    使用Angular CLI进行Build(构建)和Serve详解

    这篇文章主要介绍了使用Angular CLI进行Build(构建)和Serve详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03

最新评论