swiper 实现滑动解锁
最近项目中有这样一个需求,研究了两种写法一个原生,一个使用框架
原生写法:
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="css/huapin.css" />
<!-- <link rel="stylesheet" href="css/swiper.min.css" />-->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
</head> <body>
<div class="page2">
<div class="silder_bg">
<span>滑动滑动</span>
<!--滑动的白点-->
<img src="data:images/1closeLight.png" class="p2_bg1" /> //充当一个提示过度的效果
<!--手滑动关闭图-->
<img src="data:images/2closeBar.png" id='silder' class="p2_bg2"/>
</div>
</div>
<div class="page3"> </div>
</body>
<script src="js/zepto.js"></script>
<script>
document.getElementById('silder').addEventListener('touchmove',function(event){ //使用touchmove监听滑动
event.preventDefault();
var el = event.target;
var touch = event.touches[0];
var curX = touch.pageX - this.offsetLeft - 73; if(curX <= 0) return;
if(curX > 224){
//符合条件需要执行的事件
$(".page2").hide();
$(".page3").show();
setTimeout(function(){
p2show()
},2000);
}
el.style.webkitTransform = 'translateX(' + curX + 'px)';//使其在x轴位移
},false); document.getElementById('silder').addEventListener('touchend', function(event) { //使用touchend监听滑动结束
this.style.webkitTransition = '-webkit-transform 0.3s ease-in';
this.addEventListener( 'webkitTransitionEnd', function( event ) { this.style.webkitTransition = 'none'; }, false );
this.style.webkitTransform = 'translateX(0px)';
}, false);
</script> </html>
huapin.css:
*{
border:;
margin:;
overflow: hidden;
}
html,body{
width: 100%;
height: 100%;
}
.page2{
position: fixed;
top:;
left:;
width: 100%;
height: 100%;
}
.page2>.bg2{
position: fixed;
top:;
left:;
height: 100vh;
width: 100vw;
background-color: #000000;
opacity: 0.6;
}
.silder_bg{
width: 78vw;
height: 10vh;
position: absolute;
top:5vh;
left:;
right:;
margin: 0 auto;
z-index:;
background-color: #F2F2F2;
border-radius: 6vh;
}
.p2_bg1{
width: 10vh;
height: 10vh;
position: absolute;
top:;
left: 20vw;
right:;
z-index:;
animation: light 3s linear infinite;
-webkit-animation:light 3s linear infinite;
}
/*滑动css3动画*/
@keyframes light{
from{left:12vw;}
to{left:60vw ;}
}
@-webkit-keyframes light{
from{left:10vw;opacity: 0.4;}
to{left:55vw ;opacity: 0.4;}
}
.p2_bg2{
width: 10vh;
height: 10vh;
position: absolute;
top:;
left:;
right:;
z-index:;
}
.silder_bg span{
width: 78vw;
height: 5vh;
position: absolute;
top:3vh;
left: 4vw;
right:;
z-index:;
font-family: "微软雅黑";
font-size:14px ;
text-align: center;
}
以上是原生的写法,还可以使用jq的拖拽(draggable)这个方法
下面说下使用swiper的写法
<!doctype html>
<html lang="en"> <head>
<meta charset="UTF-8">
<title>Swiper Playground</title>
<link rel="stylesheet" href="css/swiper.min.css">
<link rel="stylesheet" href="css/huapin.css" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<style>
html,
body {
position: relative;
height: 100%;
} body {
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
font-size: 14px;
color: #000;
margin: 0;
padding: 0;
} .swiper-container {
width: 100%;
height: 100%;
z-index: 300;
} img {
width: 100%;
} .swiper-slide {
z-index: 300;
} .p2_bg {
width: 10vh;
height: 10vh;
z-index: 300;
}
</style>
</head> <body>
//html布局同上面,只是加了个swiper-container容器
<div class="silder_bg">
<span>滑动滑动</span>
<!--滑动的白点-->
<img src="data:images/1closeLight.png" class="p2_bg1" />
<!--手滑动关闭图-->
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide"> //去掉swiper.min.css对swiper-slide的默认样式
<img src="data:images/2closeBar.png" class="p2_bg" />
</div> </div>
</div>
</div>
<script src="js/zpto.js"></script>
<script src="js/swiper.min.js"></script>
<script>
简单思路:滑动swiper时监听滑动距离判断条件即可
var swiper = new Swiper('.swiper-container', {
slidesPerView: 'auto',
freeMode: true,
on: {
touchMove: function() {
// alert(swiper.translate)
if(swiper.translate > 130) {
$(".silder_bg").fadeOut(500)
}
},
},
});
</script>
</body> </html>
以上两种写法,原生的实现起来互动的更加快速,swiper滑动的相对有弹性一点,所要监听的距离更短,也可实现效果
swiper 实现滑动解锁的更多相关文章
- hiho_1054_滑动解锁
题目大意 智能手机九点屏幕滑动解锁,如果给出某些连接线段,求出经过所有给出线段的合法的滑动解锁手势的总数.题目链接: 滑动解锁 题目分析 首先,尝试求解没有给定线段情况下,所有合法的路径的总数.可以使 ...
- hihocoder#1054 : 滑动解锁(深度优先搜索)
描述 滑动解锁是智能手机一项常用的功能.你需要在3x3的点阵上,从任意一个点开始,反复移动到一个尚未经过的"相邻"的点.这些划过的点所组成的有向折线,如果与预设的折线在图案.方向上 ...
- Swift: 打造滑动解锁文字动画
原文:Swift: 打造滑动解锁文字动画 最近木事,找出来玩了玩facebook的paper.到处都是那个"slide to unlock your phone"的效果啊.忽闪忽闪 ...
- Selenium模拟JQuery滑动解锁
滑动解锁一直做UI自动化的难点之一,我补一篇滑动解锁的例子,希望能给初做Web UI自动化测试的同学一些思路. 首先先看个例子. https://www.helloweba.com/demo/2017 ...
- hihocoder 1054 滑动解锁 dfs
详细分析见滑动解锁分析 AC代码 #include <cstdio> #include <cmath> #include <cctype> #include < ...
- C语言 · 滑动解锁
题目:滑动解锁 滑动解锁是智能手机一项常用的功能.你需要在3x3的点阵上,从任意一个点开始,反复移动到一个尚未经过的"相邻"的点.这些划过的点所组成的有向折线,如果与预设的折线在图 ...
- angular ng-repeat元素swiper无法滑动问题解决
前言 angular中ng-repeat元素swiper无法滑动,angular与swiper冲突. 1.问题 在项目中,我需要利用ng-repeat循环li,比如一个nav导航条,在加入swiper ...
- jq实现简单的滑动解锁效果
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- APP九宫格滑动解锁的处理
写手机自动化测试脚本关于APP九宫格滑动解锁方面采用了appium API 之 TouchAction 操作. 先是用uiautomatorviewer.bat查询APP元素坐标: 手工计算九宫格每个 ...
随机推荐
- 关键路径——CriticalPath算法
背景:本文是在小甲鱼数据结构教学视频中的代码的基础上,添加详细注释而完成的.该段代码并不完整,仅摘录了核心算法部分,结合自己的思考,谈谈理解. 关键路径: 即决定一项工程的完成时间的路径. 如下图所示 ...
- Alpha冲刺 —— 5.1
这个作业属于哪个课程 软件工程 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 Alpha冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.会议内容 1.展 ...
- Chisel3 - util - Valid
https://mp.weixin.qq.com/s/L5eAwv--WzZdr-CfW2-XNA Chisel提供的Valid接口.如果valid为置1,则表明输出的bits有效:反之,则输出无 ...
- Java实现 蓝桥杯 算法提高 抽卡游戏
试题 算法提高 抽卡游戏 某个抽卡游戏卡池抽出限定卡的概率为p,该游戏有一个"井"的机制,抽满k次卡后直接送这张限定卡.试求获得这张限定卡需要的期望抽卡次数.输入为一行,用空格隔开 ...
- Java实现 LeetCode 443 压缩字符串
443. 压缩字符串 给定一组字符,使用原地算法将其压缩. 压缩后的长度必须始终小于或等于原数组长度. 数组的每个元素应该是长度为1 的字符(不是 int 整数类型). 在完成原地修改输入数组后,返回 ...
- Java实现 LeetCode 390 消除游戏
390. 消除游戏 给定一个从1 到 n 排序的整数列表. 首先,从左到右,从第一个数字开始,每隔一个数字进行删除,直到列表的末尾. 第二步,在剩下的数字中,从右到左,从倒数第一个数字开始,每隔一个数 ...
- Java实现 蓝桥杯VIP 算法提高 开灯游戏
算法提高 开灯游戏 时间限制:1.0s 内存限制:256.0MB 问题描述 有9盏灯与9个开关,编号都是1~9. 每个开关能控制若干盏灯,按下一次会改变其控制的灯的状态(亮的变成不亮,不亮变成亮的). ...
- Java实现 LeetCode 102 二叉树的层次遍历
102. 二叉树的层次遍历 给定一个二叉树,返回其按层次遍历的节点值. (即逐层地,从左到右访问所有节点). 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 2 ...
- Java实现 LeetCode 87 扰乱字符串
87. 扰乱字符串 给定一个字符串 s1,我们可以把它递归地分割成两个非空子字符串,从而将其表示为二叉树. 下图是字符串 s1 = "great" 的一种可能的表示形式. grea ...
- Java实现 LeetCode 72 编辑距离
72. 编辑距离 给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 . 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字 ...