使用 swiper 的过程中个人总结

1. swiper插件使用方法, 直接查看文档

2.swiper近视初始化时, 其父级元素处于隐藏状态(display:none),会导致swiper初始化失败, 页面中的滚动效果有问题

解决方法1:
var mySwiper = myApp.swiper('.guest-wrapper',{
observer: true,//修改swiper自己或子元素时,自动初始化swiper
observeParents: true//修改swiper的父元素时,自动初始化swiper
}); 解决方法2:
直接写死宽高
var mySwiper = myApp.swiper('.guest-wrapper',{
width:500,
height:500
});

3.滚动swiper插件中嵌套滚动插件, 要求子插件滚动全部完成后成能进行父元素的滚动 ==(swiper4 中滚动嵌套)==

//外层的父级 swiper 初始化
window.window_swiper = new Swiper('.window_swiper_container', {
speed: 800,
mousewheel: true,
simulateTouch: false,
nested: true,
on: { onSlideChangeStart: function(swiper) { //滑动父级需要激活滚轮事件
swiper.enableMousewheelControl();
} }
}); // 内层子 swiper 初始化(可用在多个子 swiper 上)
var swiper = new Swiper('.{{ns}}-swiper', {
simulateTouch: false,
mousewheel: true,
nested: true,
on: {
slideChangeTransitionStart: function () {
//此处禁止 外层 swiper
window.window_swiper.mousewheel.disable();
},
slideChangeTransitionEnd: function () {
window.window_swiper.mousewheel.enable();
}
}
});

4.swiper里面的图片懒加载与预加载, 可以使用自带的 lazyload 方法

swiper4 懒加载文档
设为true开启图片延迟加载默认值,使preloadImages无效。或者设置延迟加载选项。

图片延迟加载:需要将图片img标签的src改写成data-src,并且增加类名swiper-lazy。
背景图延迟加载:载体增加属性data-background,并且增加类名swiper-lazy。 还可以加一个预加载,<div class="swiper-lazy-preloader"></div>
或者白色的<div class="swiper-lazy-preloader swiper-lazy-preloader-white"></div> 当你设置了slidesPerView:'auto' 或者 slidesPerView > 1,还需要开启watchSlidesVisibility。 var mySwiper = new Swiper('.swiper-container', {
lazy: {
loadPrevNext: true,
},
});

5. 取消拖动最后一页或者第一页时的留白状态

resistanceRatio

抵抗率。边缘抵抗力的大小比例。值越小抵抗越大越难将slide拖离边缘,0时完全无法拖离。

6. 移动端顶部长菜单超出隐藏

长菜单超出隐藏滚动切换

7.free模式/抵抗反弹 freeMode

默认为false,普通模式:slide滑动时只滑动一格,并自动贴合wrapper,设置为true则变为free模式,slide会根据惯性滑动且不会贴合。

8.最后一页的高度较小时的切换(最后一个页脚不是全高的页面展示)

var mySwiper = new Swiper('.swiper-container',{
slidesPerView : 2,//'auto'
//slidesPerView : 3.7,
//如果设置为auto(例如制作全屏展示时的页脚部分),最后一个slide在键盘或鼠标滚动时可能会直接跳到倒数第三个slide,
//此时可以手动设置activeIndex解决,如下
onTransitionEnd: function(swiper){
if(swiper.progress==1){
swiper.activeIndex=swiper.slides.length-1
}
}
})

9.Effects (切换效果)

slide的切换效果,默认为"slide"(位移切换),可设置为"fade"(淡入)"cube"(方块)"coverflow"(3d流)"flip"(3d翻转)。

10.内容滚动(在ios下也能滚动的很流畅)

//css
html, body {
position: relative;
height: 100%;
}
body {
background: #fff;
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
font-size: 14px;
color:#000;
margin: 0;
padding: 0;
}
.swiper-container {
width: 700px;
height: 100%;
}
.swiper-slide {
font-size: 18px;
height: auto;
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 30px;
font-size:13px;font-family:microsoft yahei; line-height:1.8;
}
p{ margin-bottom:1em;
} //html
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide">
<p>无限多的内容无限多的内容无限多的内容无限多的内容</p>
</div>
</div>
<!-- Add Scroll Bar -->
<div class="swiper-scrollbar"></div>
</div> //js
var swiper = new Swiper('.swiper-container', {
scrollbar: '.swiper-scrollbar', //滚动条的类名
direction: 'vertical', // 竖列排行
slidesPerView: 'auto', // 可同时展示多少个 slide
mousewheelControl: true, //鼠标滚轮
freeMode: true, // slide 是否贴合侧边
roundLengths : true, //防止文字模糊
});

11. 想在轮播图外创建分页器、上一页和下一页的按钮(因为swiper的container默认overflow:hidden, 只能在轮播图中的可视区域显示切换菜单和上一页下一页)

独立分页元素,当启用(默认)并且分页元素的传入值为字符串时,swiper会优先查找子元素匹配这些元素。可应用于分页器,按钮和滚动条。

var mySwiper = new Swiper('.swiper-container',{
pagination : '.swiper-pagination',
uniqueNavElements :false,
})

点击查看swiper的 API 文档

解决使用 swiper 常见的问题的更多相关文章

  1. windows7下php5.4成功安装imageMagick,及解决php imagick常见错误问题。(phpinfo中显示不出来是因为:1.imagick软件本身、php本身、php扩展三方版本要一致,2.需要把CORE_RL_*.dll多个文件放到/php/目录下面)

    windows7下   php5.4成功安装imageMagick . (phpinfo中显示不出来是因为:1.软件本身.php本身.php扩展三方版本要一致,2.需要把CORE_RL_*.dll多个 ...

  2. 【错误解决】SVN常见错误及解决方式

    1.Error while creating module:org.apache.subversion.javahl.ClientException:Authorization failed svn: ...

  3. Nginx 403 forbidden的解决办法

    Nginx 403 forbidden的解决办法. 常见的,引起nginx 403 forbidden有二种原因,一是缺少索引文件,二权限问题. 1.缺少index.html或者index.php文件 ...

  4. Python的Ftplib问题:UnicodeEncodeError: 'latin-1' codec can't encode characters的解决方法

    ftplib中有一个方法是cwd,用来切换目录,需要传入一个dirname,经过个人测试,该dirname不能含有汉字,会抛出:UnicodeEncodeError: 'latin-1' codec ...

  5. 浅谈区间DP的解题时常见思路

    一.区间DP解题时常见思路 如果题目中答案满足: 大的区间的答案可以由小的区间答案组合或加减得到 大的范围可以由小的范围代表 数据范围较小 我们这时可以考虑采用区间DP来解决. 那么常见的解法有两种: ...

  6. 解决php函数json_encode转换后中文被编码为unicode

    大家都知道使用函数json_encode()可以方便快捷地将数组进行json编码转换,但是如果数组值存在着中文,json_encode会将中文转换为unicode编码,例如: <?PHP $ar ...

  7. 《Visual C++ 2010入门教程》系列六:VC2010常见调试技术

    <Visual C++ 2010入门教程>系列六:VC2010常见调试技术   犹豫了好久,最终还是决定开始这一章,因为我不清楚到底有没有必要写这样的一章,是应该在这里说明一些简单的调试方 ...

  8. WIN8.1的安装和打开"这台电脑"速度很慢的解决办法

    WIN8.1的安装和打开"这台电脑"速度很慢的解决办法 对于非服务器用的电脑,如果电脑的内存在2G或更高,首推的操作系统是 WINDOWS8.1 64位企业版,用了就知道,没有比这流畅懂事的操作系统. ...

  9. Web开发的编码解决中文乱码

    中文乱码有两个环节会出现 第一,从请求体中获得的数据 从请求体中获得的数据要为其进行编码,默认为ISO-8859-1,所以在使用getParameter()时先调用setCharacterEncodi ...

随机推荐

  1. python面试_总结02_代码题

    - 代码题 1.创建一个函数,接收一个字符串参数,判断其做为Python标识符是否合法. 具体要求: 如果合法则输出 True,否则输出 False. 如果该字符串与Python内置的关键字,或Bif ...

  2. (第三章)TF框架之实现验证码识别

    这里实现一个用神经网络(卷积神经网络也可以)实现验证码识别的小案例,主要记录本人做这个案例的流程,不会像之前那么详细,主要用作个人记录用... 这里是验证码的四个字母,被one-hot编码后形成的四个 ...

  3. .net core项目搭建swagger接口实现简单增删改查

    .net core搭建swagger 1,新建立.net core项目(这里不再细说) 2,引入NuGet程序包 3,建立项目之后在Startup类中配置swagger 这里我直接把代码贴出来: 在C ...

  4. python hex转flaot

    在使用树莓派 modbus-tk 读取寄存器值后,得到的4byte值存为了元组,想将该数据转化为float,习惯了c的用法,转到python时,数据转换这一块一头雾水,经过多次尝试最终实现.记录一下: ...

  5. 有效提升Python代码性能的三个层面

    使用python进入一个熟练的状态之后就会思考提升代码的性能,尤其是python的执行效率还有很大提升空间(委婉的说法).面对提升效率这个话题,python自身提供了很多高性能模块,很多大牛开发出了高 ...

  6. 【人才】亚马逊数据科学家JD

    Sr. Data Scientist - Amazon Homepage US, WA, Seattle • Job ID 271528 • Amazon Corporate LLC Job Desc ...

  7. LGP2414题解

    难不成是我后缀自动机学魔怔了,AC 自动机都能套上线段树 题意:给你一颗 Trie,每次询问两个节点 \(u,v\),\(u\) 代表的字符串在 \(v\) 代表的字符串中出现了多少次. 让我们思考一 ...

  8. linux下oracle数据库的启动

    linux下oracle数据库的启动 一.切换oracle用户 命令:su - oracle 二.运行sqlplus命令,进入sqlplus环境 命令:sqlplus /nolog (nolog参数表 ...

  9. WinDbg调试托管程序环境问题总结

    基本环境搭建及安装 安装 有2个方式可以安装WinDbg. 新版 安装WinDbg Preview 在商店里搜WinDbg直接就可以安装,这里安装的版本是x64版本.x64版本的WinDbg其实是可以 ...

  10. 实践:Linux下安装mysql8.0

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 一.下载mysql8.0安装包 1.在local创建mysql文件夹 cd /usr/local mkdir mysql cd mysql 2.使 ...