swiper4使用教程-填坑
本篇博客用于记录使用swiper插件中的一些关键点:
首先附上官网地址:https://www.swiper.com.cn/
ios中使用swiper的坑:
/*解决swiper中苹果点击变暗,在css中加入下面这段*/
* {
outline: none;
webkit-focus-ring-color: rgba(0, 0, 0, 0);
-webkit-tap-highlight-color: transparent;
-webkit-touch-callout: none;
-webkit-overflow-scrolling : touch;
}
长屏滚动实现 填坑参考:
//这个swiper创建的是长屏滚动效果,重要的一点是,该对象的swiper-slide样式的height要设为auto!
var swiperObj = new Swiper ('.swiper-container', {
direction: 'vertical',
slidesPerView: 'auto',
freeMode: true,
mousewheelControl: true,
roundLengths : true,
on:{
touchMove: function(event){
},
touchEnd: function(event){
},
touchStart:function(event){
//this代表当前,如果页面中有多个.swiper-container,则swiperObj为数组。
//swiperObj是个单独对象时,this可以换成该对象名字
//下面两行用来解决滑动过程中,点击可停止。
this.setTransition(0)
this.setTranslate(this.getTranslate());
},
transitionEnd: function(){
//下面的判断通常用来监听页面箭头提示,滑到底部隐藏
if(this.isEnd){
$('.arrowImg').hide();
}else{
$('.arrowImg').show();
}
},
}
})
初始化swiper时:如果该页面是display等于none的状态,那么在该页面显示时可以调用 swiper.update()方法激活,页面宽高变化时,也可以调用update()来激活。
swiper做成长页面滑动时,swiper.setTranslate(0)可以回到顶部。
跳转到swiper中的某一屏:swiper.slideTo(index, speed, runCallbacks):
| index | num | 必选 | 指定将要切换到的slide的索引 |
| speed | num | 可选 | 切换速度(单位ms) |
| runCallbacks | boolean | 可选 | 设置为false时不会触发transition回调函数 |
swiper滚动条的设置:
注意:如果swiper里面有输入框,弹起输出法又弹下后滚动条位置不归位,尝试把滚动条的那个dom元素放到swiper-container元素之外,并且更新滚动条对应样式。
<div class="swiper-scrollbar"></div>
.swiper-container-vertical>.swiper-scrollbar {
position: absolute;
right: 2%;
top: 2%;
z-index: 50;
width: 2.8px;
height: 100%;
background-color: #616161;
opacity: 0.7 !important;
}
.swiper-scrollbar-drag{
width: 100%;
left: 0;
background: rgba(255,255,255,0.6);
var swiperObj = new Swiper ('.swiperBox', {
direction: 'vertical',
scrollbar: {
el: '.swiper-scrollbar',
},
slidesPerView: 'auto',
freeMode: true,
mousewheelControl: true,
roundLengths : true,
on:{
touchMove: function(event){
},
touchEnd: function(event){
},
touchStart:function(event){
//this代表当前,如果页面中有多个.swiper-container,则swiperObj为数组。
//swiperObj是个单独对象时,this可以换成该对象名字
//下面两行用来解决滑动过程中,点击可停止。
this.setTransition(0)
this.setTranslate(this.getTranslate());
}
}
})
最重要的是: 多查文档 https://www.swiper.com.cn/api/index.html
注意:loop设为true的情况,可能会出现swiper中一些事件失效问题,索引也可能被打乱,这个要慎用。
loop为true解决参考:
loop为true代表可循环滚动,这时候插件就会创建若干个slide块来补位让滑动衔接,通常slide的数量就增多了。
部分slide块中元素事件失效,也许是因为该块slide是swiper复制补位的,但并未把事件带过去,解决方法可以用标签绑定。
<div onclick='method()'></div>,事件写到标签上,swiper复制出来的slide也拥有该事件属性,slide中块的索引和属性,也可以写在标签上,data-index='1'。
this.activeIndex值出现变动,可以考虑用this.realIndex,结合实际的值去测试,也可以用数组索引去操作:
var slideArr = $('.swiper-slide');
slideArr[0].find('.obj').addClass('layer');
swiper4使用教程-填坑的更多相关文章
- Node填坑教程——前言
Node是什么? Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个(只有一个)物 ...
- Vue3+Typescript+Node.js实现微信端公众号H5支付(JSAPI v3)教程--各种填坑
----微信支付文档,不得不说,挺乱!(吐槽截止) 功能背景 微信公众号中,点击菜单或者扫码,打开公众号中的H5页面,进行支付. 一.技术栈 前端:Vue:3.0.0,typescript:3.9.3 ...
- bootstrap-table填坑之旅<一>认识bootstrap-table
应公司需求,改版公司ERP的数据显示样式.由于前期开发的样式是bootstrap,所以选bootstrap-table理所当然(也是因为看了bootstrap-table官网的example功能强大, ...
- React Native填坑之旅--重新认识RN
如同黑夜里的一道光一样,就这么知道了F8. F8是每年一次Facebook每年一次的开发者大会.每次大会都会release相应的APP,iOS.Android都有.之前都是用Native开发的,但是2 ...
- Android Tips – 填坑手册
出于: androidChina http://www.androidchina.net/3595.html 学习 Android 至今,大大小小的坑没少踩,庆幸的是,在强大的搜索引擎与无私奉献的 ...
- MySQL 5.7版本安装教程-踩坑总结
下载 MySQL下载地址 选择下载64位(看自己电脑是32位还是64位) 点击下载之后,它会让你登录,没有Oracle账户,跟着它的步骤注册一个就好了. 安装 打开下载好的压缩包解压到你的某一目录下, ...
- Cloudera Manager 5.9 和 CDH 5.9 离线安装指南及个人采坑填坑记
公司的CDH早就装好了,一直想自己装一个玩玩,最近组了台电脑,笔记本就淘汰下来了,加上之前的,一共3台,就在X宝上买了CPU和内存升级了下笔记本,就自己组了个集群. 话说,好想去捡垃圾,捡台8核16线 ...
- Vue2.0 新手完全填坑攻略——从环境搭建到发布
Jinkey原创感谢 showonne.yubang 技术指导Demo 地址:http://demo.jinkey.io/vue2源码:https://github.com/Jinkeycode/vu ...
- https填坑之旅
Boss说,我们买了个权威证书,不如做全站式的https吧,让用户打开主页就能看到受信任的绿标.于是我们就开始了填坑之旅. [只上主域好不好?] 不好...console会报出一大堆warning因为 ...
随机推荐
- 01Java环境安装监测
下载安装JDK JDK:Java开发套件 JDK下载 监测JDK安装是否成功 运行Java命令 运行Javac命令
- Linux bash反弹shell原理引起的一点思考
最近,一起做安全测试的兄弟问我:Linux反弹shell的命令是什么,我毫不犹豫地在笔记中找到发给了他,可是脑海中突然闪过有个疑问,为啥这样能反弹shell呢,用了那么多次却从来没有想过这个问 ...
- Springboot整合163邮箱部署项目时发送不了邮件的解决方案
部署到腾讯云服务器时项目报错 Caused by: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: sm ...
- Angular 富文本编辑之路的探索
作者:杨振兴Worktile 前端工程师,PingCode Wiki 产品技术负责人 PingCode Wiki 提供结构化知识库来记载信息和知识,便于团队沉淀经验.共享资源,欢迎大家注册试用 本文主 ...
- java面试官最爱问的垃圾回收机制,这位阿里P7大佬分析的属实到位
前言 JVM 内存模型一共包括三个部分: 堆 ( Java代码可及的 Java堆 和 JVM自身使用的方法区). 栈 ( 服务Java方法的虚拟机栈 和 服务Native方法的本地方法栈 ) 保证程序 ...
- MongoDB集群分片部署
MongoDB中使用分片集群结构分布: 三个主要组件: Shard: 用于存储实际的数据块,实际生产环境中一个shard server角色可由几台机器组个一个replica set承担,防止主机单点故 ...
- Java集合【5】-- Collections源码分析
目录 一.Collections接口是做什么的? 二.Collections源码之大类方法 1.提供不可变集合 2.提供同步的集合 3.类型检查 4.提供空集合或者迭代器 5.提供singleton的 ...
- V-指令,细节补充
v-for遍历对象的时候 v-for=" (item) in person" 这里item是person对象里面的value值 而v-for=" (item,key) i ...
- Java面试专题-集合篇(2)
- Docker学习—Stack
前言: 前一篇了解Docker使用Swarm集群部署方式,并创建服务到Swarm集群中:如果在集群部署过程中存在大量服务部署.编排那么该如何处理呢? 那么就需要了解Docker Stack了. 1.D ...