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

原生写法:

<!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. [工具-001]C++更换EXE的ICON图标

    我们都知道每个可执行文件EXE都会有自己的图标,它可以在项目生成的时候进行指认,但是有时候我们会遇到两种情况:1.没有源代码,2.我们的项目很多,一个个进行更换很耗时.本人就是因为接到这么一个需求,要 ...

  2. 解决google play上架App设置隐私政策声明问题

    在我们的app上架到google play后,为了赚点小钱,就集成google ads,然而这会引发一个新的问题,那就是设置隐私政策声明的问题,通常我们会收到一封来自google play的邮件,提示 ...

  3. 突发!HashiCorp禁止在中国使用企业版VAULT软件

    目录 前言 HashiCorp公司介绍 HashiCorp旗下的软件 Provision Secure Connect Run 总结 前言 昨天HashiCorp突然发布一则消息,禁止在中国使用Vau ...

  4. HTTP/2 简介及https原理

    注:以下内容节选自<高性能浏览器网络>(出版社:O'Reilly,作者:Ilya Grigorik). 要了解完整版本和相关内容,请访问 hpbn.co. HTTP/2 可以让我们的应用更 ...

  5. 01 . 消息队列之(Kafka+ZooKeeper)

    消息队列简介 什么是消息队列? 首先,我们来看看什么是消息队列,维基百科里的解释翻译过来如下: 队列提供了一种异步通信协议,这意味着消息的发送者和接受者不需要同时与消息保持联系,发送者发送的消息会存储 ...

  6. Jmeter(五) - 从入门到精通 - 创建网络计划实战和创建高级Web测试计划(详解教程)

    1.简介 上一篇中宏哥已经将其的理论知识介绍了一下,这一篇宏哥就带着大家一步一步的把上一篇介绍的理论知识实践一下,然后再说一下如何创建高级web测试计划. 2.网络计划实战 通过上一篇的学习,宏哥将其 ...

  7. 微信小程序单选按钮radio选中的值value的获取方法,setTimeout定时器的用法

    获取radio值的方法: func:function(e){ var val=e.detail.value;//获取radio值,类型:字符串 var val2=parseInt(val);//将字符 ...

  8. 面试题: SpringBoot 的自启动原理

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 引言 不论在工作中,亦或是求职面试,Spring Boot 已经成为我们必知必会的技能项.除了比较老旧的 ...

  9. (Java实现) 洛谷 P1115 最大子段和

    题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大. 输入输出格式 输入格式: 第一行是一个正整数NN,表示了序列的长度. 第二行包含NN个绝对值不大于1000010000的整数A_iA ...

  10. Java实现蓝桥杯日志统计

    标题:日志统计 小明维护着一个程序员论坛.现在他收集了一份"点赞"日志,日志共有N行.其中每一行的格式是: ts id 表示在ts时刻编号id的帖子收到一个"赞" ...