最近作移动端开发javascript
给出的静态页使用了Swiper,用的是4.0.3版本,应该是比较新的。css
静态页这种东西,通常就是给你个雏形,设计部虽然使用了这个插件,但毕竟这个活儿毕竟仍是得开发人员来干,因此,静态页html代码上明明白白地在图片分页的点那里注释着:html
<!--滚动图导航器,需开发写上对应-->java
一开始没当回事,不就是个分页么,到时候去查一下api就行了,因此我继续先完成其余工做。api
两天后,同事叫我整这个插件,务必还原成静态页的要求,他说前天加班一夜,今天一早上都没搞定。app
我才发现事情大条了。ide
根据同事分享的资料我整合了一下,spa
版本多而且各版本改动大,设计部的版本最新可是可能存在不稳定因素插件
其中一部分他几乎解决了(为何是几乎?由于他若是用对了api,我就不用改这个了。哪有人一边用着3.0的插件看着4.0的api的!):使用3.0.4版本不用4.0.3,毕竟这个api可能存在问题或者没能找到解决方案。不使用设计部的js,看着差异不太大(后面被设计部过来怼了,在他们看来,差异仍是很大的)而后他被安排其余任务,这个插件只能我本身解决了设计
解决方案:
一、先加载数据,再使用 $.getScript(),要是这样插件还不认就没办法啦
$.getScript("js/swiper.min.js",function(){ //配置swiper });
二、若是本身分页的话,比较难触发:我用的时候触发是触发了,可是太慢了,还容易出错!每次都只触发第一和第三页。我都使用touch事件来监听了,但这个太黑总归不太好。因而我仍是查了api,使用swiper配置的分页,像这样,而后在本身的样式表里把设计部的样式抠下来套一下,注意:为了避免影响其余位置使用swiper,样式必定要限制一下使用范围
1 <style type=text/css> 2 3 .my_swiper_box div . swiper-pagination{/*这里是设计部的分页样式*/} 4 .my_swiper_box div . swiper-pagination span{/*这里是设计部的分页样式*/} 5 6 </style> 7 8 <div class="swiper-container my_swiper_box"> 9 10 <div class="swiper-wrapper"> 11 12 <div class="swiper-slide">Slide 1</div> 13 14 <div class="swiper-slide">Slide 2</div> 15 16 <div class="swiper-slide">Slide 3</div> 17 18 </div> 19 20 <div class="swiper-pagination"></div> 21 22 </div> 23 24 <script type="text/javascript"> 25 26 27 28 $.getScript("js/swiper.min.js",function(){ 29 30 var mySwiper = new Swiper('.my_swiper_box ',{ 31 32 pagination : '.swiper-pagination', 33 34 }) 35 36 }); 37 38 39 40 </script>
三、卡顿状况,话说这个真没注意,搞很差是脚本冲突,反正我直接注释掉脚本,只要最后表现和静态页同样就无所谓啦。
四、上一张图片与下一张图片要显示一点点边缘部分,而且比正在看的图片小一点点。开玩笑!像这种能用css解决的问题都不叫问题。
<style type=text/css> .my_swiper_box .swiper-slide-active{//设计部样式}/*正在看到的图片*/ .my_swiper_box .swiper-slide-prev{//设计部样式}/*上一张图片*/} .my_swiper_box .swiper-slide-next{//设计部样式}/*下一张图片*/} </style>
五、其余问题:若是我下拉刷新也使用swiper,会不会与当前的发生冲突?
这就是为何要在样式上加个前缀.my_swiper_box 的缘由,而且声明时用的是.my_swiper_box 而不是.swiper-container (然鹅最后个人下拉刷新出了点问题,搞得我最后不用swiper来写下拉刷新,而是本身根据监听‘touch’事件进行,这个可能写在另外一个随笔里)
最后,无论过程如何,好歹结果是好的。工做顺利完成~