最近做移动端开发

  给出的静态页使用了Swiper,用的是4.0.3版本,应该是比较新的。

  静态页这种东西,一般就是给你个雏形,设计部虽然使用了这个插件,但毕竟这个活儿毕竟还是得开发人员来干,所以,静态页html代码上明明白白地在图片分页的点那里注释着:

  <!--滚动图导航器,需开发写上对应-->

  一开始没当回事,不就是个分页么,到时候去查一下api就好了,所以我继续先完成其他工作。

  两天后,同事叫我整这个插件,务必还原成静态页的要求,他说前天加班一晚上,今天一早上都没搞定。

  我才发现事情大条了。

  根据同事分享的资料我整合了一下,

  版本多并且各版本改动大,设计部的版本最新但是可能存在不稳定因素

  1. 静态页的内容是死的,开发的需要加载,如果先加载完插件,再加载内容,插件会不认!
  2. 分页需要触发点,最新版的触发分页有问题。
  3. 如果用设计部的js,滑动时候明显不顺畅并且出现滑到一半就卡住的情况(当然,静态页没有这种鬼问题)

  其中一部分他几乎解决了(为什么是几乎?因为他如果用对了api,我就不用改这个了。哪有人一边用着3.0的插件看着4.0的api的!):使用3.0.4版本不用4.0.3,毕竟这个api可能存在问题或者没能找到解决方案。不使用设计部的js,看着差别不太大(后面被设计部过来怼了,在他们看来,差别还是很大的)然后他被安排其他任务,这个插件只能我自己解决了

解决方案:

  1、先加载数据,再使用 $.getScript(),要是这样插件还不认就没办法啦

$.getScript("js/swiper.min.js",function(){

        //配置swiper

});

  2、如果自己分页的话,比较难触发:我用的时候触发是触发了,但是太慢了,还容易出错!每次都只触发第一和第三页。我都使用touch事件来监听了,但这个太黑总归不太好。于是我还是查了api,使用swiper配置的分页,像这样,然后在自己的样式表里把设计部的样式抠下来套一下,注意:为了不影响其他位置使用swiper,样式一定要限制一下使用范围

 <style type=text/css>

   .my_swiper_box div . swiper-pagination{/*这里是设计部的分页样式*/}
  .my_swiper_box div . swiper-pagination span{/*这里是设计部的分页样式*/} </style> <div class="swiper-container my_swiper_box"> <div class="swiper-wrapper"> <div class="swiper-slide">Slide 1</div> <div class="swiper-slide">Slide 2</div> <div class="swiper-slide">Slide 3</div> </div> <div class="swiper-pagination"></div> </div> <script type="text/javascript">   $.getScript("js/swiper.min.js",function(){     var mySwiper = new Swiper('.my_swiper_box ',{       pagination : '.swiper-pagination',     })   }); </script>

  3、卡顿情况,话说这个真没注意,搞不好是脚本冲突,反正我直接注释掉脚本,只要最后表现和静态页一样就无所谓啦。

  4、上一张图片与下一张图片要显示一点点边缘部分,并且比正在看的图片小一点点。开玩笑!像这种能用css解决的问题都不叫问题。

<style type=text/css>

  .my_swiper_box .swiper-slide-active{//设计部样式}/*正在看到的图片*/

  .my_swiper_box .swiper-slide-prev{//设计部样式}/*上一张图片*/}

  .my_swiper_box .swiper-slide-next{//设计部样式}/*下一张图片*/}

</style>

  5、其他问题:如果我下拉刷新也使用swiper,会不会与当前的发生冲突?

  这就是为什么要在样式上加个前缀.my_swiper_box 的原因,并且声明时用的是.my_swiper_box 而不是.swiper-container  (然鹅最后我的下拉刷新出了点问题,搞得我最后不用swiper来写下拉刷新,而是自己根据监听‘touch’事件进行,这个可能写在另一个随笔里)

最后,不管过程如何,好歹结果是好的。工作顺利完成~

swiper插件使用遇到的一点小问题的更多相关文章

  1. 非常优秀的swiper插件————幻灯片播放、图片轮播

    http://www.idangero.us/ http://www.swiper.com.cn/ Swiper中文网 2015-10-15 SuperSlide2: (这是个PC用的滚屏插件,看着不 ...

  2. 实战:vue项目中导入swiper插件

    版本选择 swiper是个常用的插件,现在已经迭代到了第四代:swiper4.常用的版本是swiper3和swiper4,我选择的是swiper3. 安装 安装swiper3的最新版本3.4.2: n ...

  3. 移动端网站的内容触摸滑动-Swiper插件

    手机平板等大多移动端站点都会有触摸滑动内容的功能,公司移动端站点(m.muzhiwan.com)的标题广告滑动以及轮播效果就是用的Swiper插件. Swiper就是常用于移动端网站的内容触摸滑动的一 ...

  4. 关于win8开发的一点小总结

    我今天做画面的时候,发现了一点小问题. 我在xmal文件里面加了一个CheckBox控件,设置IsChecked属性为True,并添加了Checked事件.Checked事件里面有对另外一个TextB ...

  5. 关于PHP魔术方法__call的一点小发现

    好久没有上博客园写文章了,今晚终于有点空了,就来写一下昨天的一点小发现. 我自己所知,C++,Java的面向对象都有多态的特点,而PHP没有,但PHP可以通过继承链方法的重写来实现多态的属性.而魔术方 ...

  6. swiper插件的简单使用,实现图片轮播

    移动端和p c端经常会遇到写轮播图的情况,这里只是简单的说一下swiper插件的简单用法(移动端为例). <!DOCTYPE html> <html lang="en&qu ...

  7. swiper插件遇上tab切换

    当swiper插件遇到tab切换,即display的显示与否属性时,失效,方法如下: <script language="javascript"> var mySwip ...

  8. net core体系-web应用程序-4net core2.0大白话带你入门-8asp.net core 内置DI容器(DependencyInjection,控制翻转)的一点小理解

    asp.net core 内置DI容器的一点小理解   DI容器本质上是一个工厂,负责提供向它请求的类型的实例. .net core内置了一个轻量级的DI容器,方便开发人员面向接口编程和依赖倒置(IO ...

  9. ionic3 使用swiper插件 实现轮播效果

    由于app的更新迭代 我需要完成新版本设计图的开发 刚开始就遇到一个问题  首页的banner图需要实现某种效果 而ionic3自带的轮播图效果怎么改都改不到我想要的效果 效果图如下  自动播放 不断 ...

随机推荐

  1. unity中编辑器直接截屏代码

    using UnityEngine; using System.Collections; using System.Windows.Forms; public class screenshots : ...

  2. 关于css3 渐变色

    渐变色在现在来说非常的常用:(注意渐变色只能给背景加 不能给边框加) 方法:-webkit-linear-gradient() 括号里面第一个值为渐变色的开始方向,第二个值为开始的颜色,中间用逗号隔开 ...

  3. 低版本IDE 打开 高版本 IDE 代码时 unit

    可以用单元别名 比如Vcl.Forms=Forms 来兼容.

  4. vs code编写的时候自动回车的原因

    今天在书写一个空白的scss文件的时候,刚打2个字就自动回车换行了: 测试了几次,发现了规律就是输入停下来0.5秒左右就会自动换行,比如,打了2个中文,再连续打一个句子,键盘虽然在动,但是vs cod ...

  5. js截取固定长度字符串,多余字符显示...

    function cutstr(str, len) { var str_length = 0; var str_len = 0; str_cut = new String(); str_len = s ...

  6. webstorm使用YUIcompressor压缩js css并指定目录

    YUI插件下载地址: https://github.com/yui/yuicompressor/releases 配置教程: 注意:这里用 ..\ 代表上级目录, '\' 千万别写成 '/'

  7. MySQL中MyISAM与InnoDB区别

    原文:https://blog.csdn.net/frycn/article/details/70158313?utm_source=copy InnoDB:支持事务处理等不加锁读取支持外键支持行锁不 ...

  8. [c++]关于strcpy函数溢出解决方案

    必须包含的头文件:<string.h> 可改写成安全函数strcpy_s 找到[项目属性],点击[C++]里的[预处理器],对[预处理器]进行编辑,在里面加入一段代码:_CRT_SECUR ...

  9. 如何在linux环境上挂载磁盘

    1.1      fdisk -l 命令 查看可用的磁盘信息(如果没有显示可用的磁盘,可重启一下主机:reboot) 1.2      df –h 命令 可查看已挂的磁盘情况 1.3      pvs ...

  10. eclipse安装反编译插件(附jad下载)

    eclipse安装反编译插件(附jad下载) 博客分类: eclipse   一.eclipse反编译插件Jadclipse jadclips插件网站:    http://jadclipse.sou ...