最近项目中有这样一个需求,研究了两种写法一个原生,一个使用框架

原生写法:

<!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 实现滑动解锁的更多相关文章

  1. hiho_1054_滑动解锁

    题目大意 智能手机九点屏幕滑动解锁,如果给出某些连接线段,求出经过所有给出线段的合法的滑动解锁手势的总数.题目链接: 滑动解锁 题目分析 首先,尝试求解没有给定线段情况下,所有合法的路径的总数.可以使 ...

  2. hihocoder#1054 : 滑动解锁(深度优先搜索)

    描述 滑动解锁是智能手机一项常用的功能.你需要在3x3的点阵上,从任意一个点开始,反复移动到一个尚未经过的"相邻"的点.这些划过的点所组成的有向折线,如果与预设的折线在图案.方向上 ...

  3. Swift: 打造滑动解锁文字动画

    原文:Swift: 打造滑动解锁文字动画 最近木事,找出来玩了玩facebook的paper.到处都是那个"slide to unlock your phone"的效果啊.忽闪忽闪 ...

  4. Selenium模拟JQuery滑动解锁

    滑动解锁一直做UI自动化的难点之一,我补一篇滑动解锁的例子,希望能给初做Web UI自动化测试的同学一些思路. 首先先看个例子. https://www.helloweba.com/demo/2017 ...

  5. hihocoder 1054 滑动解锁 dfs

    详细分析见滑动解锁分析 AC代码 #include <cstdio> #include <cmath> #include <cctype> #include < ...

  6. C语言 · 滑动解锁

    题目:滑动解锁 滑动解锁是智能手机一项常用的功能.你需要在3x3的点阵上,从任意一个点开始,反复移动到一个尚未经过的"相邻"的点.这些划过的点所组成的有向折线,如果与预设的折线在图 ...

  7. angular ng-repeat元素swiper无法滑动问题解决

    前言 angular中ng-repeat元素swiper无法滑动,angular与swiper冲突. 1.问题 在项目中,我需要利用ng-repeat循环li,比如一个nav导航条,在加入swiper ...

  8. jq实现简单的滑动解锁效果

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  9. APP九宫格滑动解锁的处理

    写手机自动化测试脚本关于APP九宫格滑动解锁方面采用了appium API 之 TouchAction 操作. 先是用uiautomatorviewer.bat查询APP元素坐标: 手工计算九宫格每个 ...

随机推荐

  1. unicode 的中文字符串,调用 isalnum()返回的是 True ?

    描述 Python isalnum() 方法检测字符串是否由字母和数字组成. 语法 isalnum()方法语法: str.isalnum() 返回值 如果 string 至少有一个字符并且所有字符都是 ...

  2. 经典卷积神经网络算法(3):VGG

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  3. XXE漏洞学习1

    1.test.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ANY [ <! ...

  4. Rocket - util - ECC

    https://mp.weixin.qq.com/s/yato1PrnHe517J8twgZFOg   介绍ECC(Error Correcting Code/Error Checking and C ...

  5. Java实现 LeetCode 258 各位相加

    258. 各位相加 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数. 示例: 输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2. 由 ...

  6. java实现矩阵变换加密法

    一种Playfair密码变种加密方法如下:首先选择一个密钥单词(称为pair)(字母不重复,且都为小写字母),然后与字母表中其他字母一起填入至一个5x5的方阵中,填入方法如下: 1.首先按行填入密钥串 ...

  7. java实现人员排日程

    某保密单位机要人员 A,B,C,D,E 每周需要工作5天,休息2天. 上级要求每个人每周的工作日和休息日安排必须是固定的,不能在周间变更. 此外,由于工作需要,还有如下要求: 所有人的连续工作日不能多 ...

  8. Java实现二分图的最大匹配

    1 问题描述 何为二分图的最大匹配问题? 引用自百度百科: 首先得说明一下何为匹配: 给定一个二分图G,在G的一个子图M中,M的边集{E}中的任意两条边都不依附于同一个顶点,则称M是一个匹配. 极大匹 ...

  9. java实现整数翻转

    ** 整数翻转** 以下程序把一个整数翻转(8765变为:5678),请补充缺少的代码. int n = 8765; int m = 0; while(n>0) { m = __________ ...

  10. 强类型sql生成助手类

    不使用表达式树,使用强类型生成where子句,好处是性能高,相比表达式树生成的sql,10倍+ 目前只支持生成where条件.查询语句,后期会增加生成Update SQL where子句支持相等.比较 ...