html滑动验证图片,纯js实现图片滑块验证
需求:js实现滑块验证
思路:设置position:absolute,通过left值控制滑动
再来说几个js事件:
onmousedown
事件会在鼠标按键被按下时发生
onmousemove
事件会在鼠标指针移动时发生
onmouseup
事件会在鼠标松开时发生
实现:
//完成图片及滑块的摆放
及样式:
.box {
width: 311px;
height:155px;
margin:0 auto;
position:relative;
}
.inner {
position:absolute;
left:0;
}
.drag{
width: 311px;
height: 40px;
line-height: 40px;
background-color: #e8e8e8;
position: relative;
margin:0 auto;
}
.bg{
width:40px;
height: 100%;
position: absolute;
background-color: #75CDF9;
}
.text{
position: absolute;
width: 100%;
height: 100%;
text-align: center;
user-select: none;
}
.btn{
width:40px;
height: 38px;
position: absolute;
border:1px solid #ccc;
cursor: move;
font-family: "宋体";
text-align: center;
background-color: #fff;
user-select: none;
color:#666;
}
写完后是这样滴:
接下来写事件:
首先获取滑动键被点了
btn.onmousedown = function(e){
var e = e || window.event;
//鼠标点的位置
var downX = e.clientX;
}
监听移动事件(写在点击方法里面,这里为了方便介绍,可下载源码):
document.onmousemove = function(e){
var e = e || window.event;
//获取鼠标移动后的水平位置
var moveX = e.clientX;
//获取移动了多少
offsetX = moveX - downX;
//防止越界
if( offsetX > distance){
offsetX = distance;//如果滑过了终点,就将它停留在终点位置
}else if( offsetX < 0){
offsetX = 0;//如果滑到了起点的左侧,就将它重置为起点位置
}
//根据移动距离让按钮,小图片及背景色动起来
按钮.style.left = offsetX + "px";
背景.style.width = offsetX + "px";
小图.style.left=offsetX + "px";
}
然后通过移动距离和需要的距离做对比,获取状态。
if( offsetX == "目标"){
//1.设置滑动成功后的样式
text.innerHTML = "";
text.style.color = "#fff";
btn.innerHTML = "√";
btn.style.color = "green";
bg.style.backgroundColor = "lightgreen";
success=true;
//2.成功后,清除掉鼠标按下事件和移动事件(因为移动时并不会涉及到鼠标松开事件)
btn.onmousedown = null;
document.onmousemove = null;
//3.成功解锁后的回调函数
setTimeout(function(){
alert('解锁成功!');
},100);
}
当鼠标松开时:
document.onmouseup = function(e){
//如果鼠标的水平移动距离 = 滑动成功的宽度
if( success){
return;
}else{
//反之,则将滑块复位(设置了1s的属性过渡效果)
btn.style.left = 0;
bg.style.width = 0;
inner.style.left=0;
btn.style.transition = "left 1s ease";
inner.style.transition = "left 1s ease";
bg.style.transition = "width 1s ease";
}
//只要鼠标松开了,说明此时不需要拖动滑块了,那么就清除鼠标移动和松开事件。
document.onmousemove = null;
document.onmouseup = null;
}
大体实现思路就这些啦!
源码地址:https://github.com/myweiwei/S...
将不断更新完善,期待您的批评指正!
html滑动验证图片,纯js实现图片滑块验证相关推荐
- html5轮播怎么自动换图,js实现轮播图效果 纯js实现图片自动切换
本文实例为大家分享了纯js实现图片自动切换的具体代码,供大家参考,具体内容如下 1.鼠标经过的时候左右两个小按钮会自动弹出,自动播放停止,点击左右小按钮可以切换图片: 2. 鼠标离开,恢复自动播放: ...
- 凡科网JS逆向后跳出的滑块验证(base64图片解码之后的破解滑块验证)
目录 1.前提和大概思路概述 2. 转换思路selenium和验证滑块图片的获取处理 3.总结 1.前提和大概思路概述 只是学习的途中有一些新的发现,分享给大家,希望对你们有帮助. 凡科网的JS逆向的 ...
- php 获得图片大小,js获取图片大小_php 或js获取图片大小
摘要 腾兴网为您分享:php 或js获取图片大小,之了课堂,云集,宜信,学堂在线等软件知识,以及手机东方财富通,航空证券软件,日历星座,大吉大利晚上吃鸡图片,一米鲜,熊猫云,sketchup动画,空文 ...
- css3 3d立体三角形展示图片,纯css3实现图片三角形排列
当今是个读图时代.纯大部分网页或多或少都会用到图片.特别是图片较多的网页.图片的布局和排版就非常重要了.今天要给大写带来一款纯css3实现图片三角形排列.适合一系列的图片.效果图如下: 实现的代码. ...
- html静态网站登陆验证,静态页面js加密URL密码验证
随手写的一个静态HTML页面JS加密URL,密码验证的jQuery插件 点击查看演示 HTML部分: 密码为passcode的链接测试 密码为mm2的链接测试 增加mrel属性,写入真实页面地址前缀, ...
- 原生js实现拖动滑块验证
拖动滑块验证是现在的网站随处可见的,各式各样的拖动法都有. 下面实现的是某宝的拖动滑块验证: <!DOCTYPE html> <html lang="en"> ...
- c 服务器二次验证码,V5验证官网 - 基础套餐免费 -滑块验证,行为验证,防刷验证 - 文档...
平台对接 V5验证前后端对接流程如下图所示: 前后端调用时序图 对接V5验证分为业务网站后台api对接以及业务前端代码引入两部分. 业务网站后台 获取验证Token及验证服务器(getToken) 用 ...
- 纯js制作图片轮播效果
好久没有发博客了,最近都在复习,为了找工作做准备. 前段时间逛了下鼠绘漫画网追海贼王最新漫画,发现他们家的图片轮播效果跟其他网页的图片轮播效果效果不同,看起来更加有趣,于是我尝试了用js复写它. 前提 ...
- html下纯JS实现图片压缩、预览、图片Base64转换
1 function ImgToBase64(file, maxLen, callBack) { 2 var img = new Image(); 3 4 var reader = new FileR ...
- html div保存png图片,纯JS实现将DIV中的内容转化为PNG图片
//1.将div转成svg var data = "data:image/svg+xml," + "" + "" + " &quo ...
最新文章
- 利用组策略防止计算机访问共享资源
- OpenCV SIFT检测关键点
- python连接mysql_Python连接MySQL
- QT学习:读写二进制文件
- codeforces CF438D The Child and Sequence 线段树
- 信息学奥赛C++语言:枪声问题
- StalinLocker:一款会在十分钟之后删除文件和数据的勒索软件
- Android - Binder机制 - Binder框架总结
- JavaWeb之Servlet编程
- Linux快速入门教程
- 转轮密码机的加解密算法实现
- JPEG文件格式分析及举例验证
- 人生「价值」的三个关键词|《价值》
- 【RTSCon 2022】实时通信与价值赋能
- yyyymmddhhmmss时间格式12小时制24小时制区别
- PowerBuilder篇(2)——如何连接Oracle数据库
- D2FQ(2021 FAST)
- 【复习】系统安全知识点归纳总结
- Response.Redirect引起System.Threading.ThreadAbortException
- 使用AlertDialog自定义布局,解决自定义控件的监听事件无效的办法