swiper.js在angular里使用的一些问题
2017-07-31 07:51
417 查看
因为项目的框架用的是angular,而轮播用的是swiper.js,这个插件做轮播很高效和实用,不过可能angular也不是很熟,照着官方文档把swiper.js引入的时候,发现第一张图片永远是一闪而过,这就很尴尬,问题可能是我的轮播图片是通过ng-repeat从后台拿出来的数据。
swiper的机制是:初始化的时候自动扫描swiper-wrapper类下有多少个swiper-slide类块,则允许滑动多少个块。 而在angular始终在swiper初始化之后定义,swiper则无法正确scan有多少个slide(实际上找到一个待循环模板),所以划不动。现在直接贴出高效的解决方案,直接在js处理下控制器和swiper就可以:
js中代码:
以上代码,就是加了一个重定向和定时函数,前端页面还是直接用swiper.js的插件的内容:
swiper的机制是:初始化的时候自动扫描swiper-wrapper类下有多少个swiper-slide类块,则允许滑动多少个块。 而在angular始终在swiper初始化之后定义,swiper则无法正确scan有多少个slide(实际上找到一个待循环模板),所以划不动。现在直接贴出高效的解决方案,直接在js处理下控制器和swiper就可以:
js中代码:
//定义重定向,angularjs前台数据循环完了调用swiper.js代码 app.directive('repeatDone',function(){ return{ link:function(scope,element,attr){ if(scope.$last){ scope.$eval(attr.repeatDone); } } } }).controller('mainCtrl', ['$scope','$timeout', function ($scope,$timeout) { $scope.isRepeat=function(){ $timeout(function(){ var productDetailSlide=new Swiper('.swiper-container',{ autoplay:2500, autoplayDisableOnInteraction:false, pagination : '.swiper-pagination', paginationClickable: true, longSwipesRatio: 0.3, touchRatio:1, loop:true, observer:true,//修改swiper自己或子元素时,自动初始化swiper observeParents:true,//修改swiper的父元素时,自动初始化swiper // 如果需要前进后退按钮 nextButton: '.swiper-button-next', prevButton: '.swiper-button-prev', }) $(".swiper-container").mouseenter(function () {//滑过悬停 productDetailSlide.stopAutoplay();//mySwiper 为上面你swiper实例化的名称 }).mouseleave(function(){//离开开启 productDetailSlide.startAutoplay(); }})]
以上代码,就是加了一个重定向和定时函数,前端页面还是直接用swiper.js的插件的内容:
相关文章推荐
- 解决Angular.js中使用Swiper插件不能滑动的问题
- 收集关于angular与JS的一些常见问题 总结
- 使用Jquery.cookie.js遇到的一些问题
- Atitit.angular.js 使用最佳实践 原理与常见问题解决与列表显示案例 attilax总结
- VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
- angularjs select标签使用ng-repeat标签之后,ng-model无法更新问题解决
- Atitit.angular.js 使用最佳实践 原理与常见问题解决与列表显示案例 attilax总结
- AngularJs & JQuery 结合使用存在的问题 之 input hidden 问题解决方案
- 使用angularJs templates之后,scope问题
- AngularJs & JQuery 结合使用存在的问题 之 input hidden 问题解决方案
- Angular.js中使用Swiper插件不能滑动的解决方案
- 使用angularjs ui-bootstrap遇到的问题
- JS使用中碰到的一些问题
- AngularJS ng-repeat指令中使用track by子语句解决重复数据遍历错误问题
- Angular中使用MathJax遇到的一些问题
- 使用前端框架后js动态改变样式的一些问题(select)
- bootstrap+angular关于js常见的一些问题
- Atitit.angular.js 使用最佳实践 原理与常见问题解决与列表显示案例 attilax总结
- VSTS2005 -- 使用Personal web site starter kit模版建站的一些问题
- 使用 Castle ActiveRecord 开发发现的一些问题