滑动验证

先放效果图

滑块验证解锁

.drag{

width: 300px;

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;

}

请拖动滑块解锁
>>

//一、定义一个获取DOM元素的方法

var $ = function(selector){

return document.querySelector(selector);

},

box = $(".drag"),//容器

bg = $(".bg"),//背景

text = $(".text"),//文字

btn = $(".btn"),//滑块

success = false,//是否通过验证的标志

distance = box.offsetWidth - btn.offsetWidth;//滑动成功的宽度(距离)

//二、给滑块注册鼠标按下事件

btn.onmousedown = function(e){

//1.鼠标按下之前必须清除掉后面设置的过渡属性

btn.style.transition = "";

bg.style.transition ="";

//说明:clientX 事件属性会返回当事件被触发时,鼠标指针向对于浏览器页面(或客户区)的水平坐标。

//2.当滑块位于初始位置时,得到鼠标按下时的水平位置

var e = e || window.event;

var downX = e.clientX;

//三、给文档注册鼠标移动事件

document.onmousemove = function(e){

var e = e || window.event;

//1.获取鼠标移动后的水平位置

var moveX = e.clientX;

//2.得到鼠标水平位置的偏移量(鼠标移动时的位置 - 鼠标按下时的位置)

var offsetX = moveX - downX;

//3.在这里判断一下:鼠标水平移动的距离 与 滑动成功的距离 之间的关系

if( offsetX > distance){

offsetX = distance;//如果滑过了终点,就将它停留在终点位置

}else if( offsetX < 0){

offsetX = 0;//如果滑到了起点的左侧,就将它重置为起点位置

}

//4.根据鼠标移动的距离来动态设置滑块的偏移量和背景颜色的宽度

btn.style.left = offsetX + "px";

bg.style.width = offsetX + "px";

//如果鼠标的水平移动距离 = 滑动成功的宽度

if( offsetX == distance){

//1.设置滑动成功后的样式

text.innerHTML = "验证通过";

text.style.color = "#fff";

btn.innerHTML = "√";

btn.style.color = "green";

bg.style.backgroundColor = "lightgreen";

//2.设置滑动成功后的状态

success = true;

//成功后,清除掉鼠标按下事件和移动事件(因为移动时并不会涉及到鼠标松开事件)

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;

btn.style.transition = "left 1s ease";

bg.style.transition = "width 1s ease";

}

//只要鼠标松开了,说明此时不需要拖动滑块了,那么就清除鼠标移动和松开事件。

document.onmousemove = null;

document.onmouseup = null;

}

}

滑动图片验证

先放效果图

html滑动验证图片,滑动验证 和滑动图片验证JS相关推荐

  1. 模仿微信朋友圈 图片浏览 js javascript 支持图片预览,滑动切换,双指缩放,图片缓存

    模仿微信朋友圈 图片浏览 js javascript 支持图片预览,滑动切换,双指缩放,图片缓存 2017年08月10日 12:11:38 阅读数:2311 previewImage-mobile 仿 ...

  2. html中鼠标移动有下拉图片,JQuery自适应全屏图片滚动鼠标上下滑动效果代码

    特效描述:JQuery 自适应全屏 图片滚动 鼠标上下滑动效果.JQuery:全屏随鼠标滑动而滚动 代码结构 1. 引入JS 2. HTML代码 $(function(){ $('body,html' ...

  3. 通过触摸屏幕/鼠标 图片跟随手指 加滑动效果

    <领导关怀版本 需求3> 一:图片本地加载,打字效果,循环播放 二:通过触摸屏幕/鼠标 滑动 三:跟随手指,滑动效果 版本系列(一):实现了读取本地图片,循环播放功能 版本系列(二):原来 ...

  4. css滑动门技术的应用,css 滑动门技术的介绍及实例分享

    css 滑动门技术的介绍及实例分享 发布时间:2009-10-15 12:48:01   作者:佚名   我要评论 可以这样说css滑动门技术是被刺激出来的,因为很多人认为css并不能做出漂亮的网页, ...

  5. html网页滚轮滑动页面,JQuery实现鼠标滚轮滑动到页面节点

    下面通过一段JQuery代码实现鼠标滚轮滑动到页面节点的详细介绍,并通过展示效果图展示给大家. 基于jQuery鼠标滚轮滑动到页面节点部分.这是一款基于jQuery+CSS3实现的使用鼠标滚轮或者手势 ...

  6. 粘性控件,滑动停留StickLayout(导航栏滑动停留)

    我们平时在使用APP的时候,经常可以见到一些导航栏滑到顶端就停留,而下面的控件可以接着滑动:今天,我就给大家介绍一个非常好用的滑动粘性控件StickLayout,它不仅可以让其任意一个直接子控件滑动停 ...

  7. android 判断滑动方向,H5触摸事件判断滑动方向

    为了给触摸界面提供有力支持, 触摸事件提供了响应用户对触摸屏或者触摸板上操作的能力. 接口 TouchEvent TouchEvent 是一类描述手指在触摸平面(触摸屏.触摸板等)的状态变化的事件.这 ...

  8. Android从上往下滑动或从下往上滑动结束Activity

    之前有看过xiaanming写的侧滑返回,于是仿照他的Demo,写了这个从上往下滑动或者从下往上滑动结束Activity 先附图一张,由于这台电脑分辨率有问题以及模拟器的缘故,先凑活看吧 先贴代码: ...

  9. python 登陆网站图片验证,用python登录带弱图片验证码的网站

    上一篇介绍了使用python模拟登陆网站,但是登陆的网站都是直接输入账号及密码进行登陆,现在很多网站为了加强用户安全性和提高反爬虫机制都会有包括字符.图片.手机验证等等各式各样的验证码.图片验证码就是 ...

  10. 2022-02-16 工作记录--Swiper-实现跑马灯效果:鼠标经过时停止滑动,鼠标离开后继续滑动

    Swiper-实现跑马灯效果:鼠标经过时停止滑动,鼠标离开后继续滑动 一.效果图 二.对应代码 [swiper详情可见swiper官网,下面给出实现跑马灯效果的代码] [注意] 下面CSS和JS代码里 ...

最新文章

  1. 史上最详细阿里云服务器上Docker部署War包项目 实战每一步都带详细图解!!!
  2. iOS开发两个距离较近的按钮同时触发事件的解决方法
  3. C++ stringstream 实现字符与数字之间的转换
  4. angular之service、factory预provider区别
  5. uva 1587 题解
  6. 【Unity3D日常BUG】Unity3D中使用高亮插件Highlighting出现的错误:Parameter name:shader
  7. CTFHUB WEB
  8. 用Python实现一个简单的批量无水印快手抖音批量下载器
  9. 时序分析:ARMA方法(平稳序列)
  10. 各大人脸识别库的介绍
  11. 天神娱乐实控人朱晔宣布离职:暂时的离开是为更好相见
  12. 对称加密算法 Blowfish 和 Twofish
  13. 怎么加载网页背景图随浏览器等比例缩放(css)
  14. 关于嵌入式常用显示屏的总结
  15. Python3,9行批量提取PDF文件的指定内容,这种操作,保证人见人爱....
  16. python输出最长字符串_使用Python打印最长的字母子字符串,并打结...
  17. 【深度报道】被业内称作“骨灰级AI玩家”的科大讯飞推出多款产品惊艳亮相...
  18. 计算机又坏了,第二次回家
  19. 相比90后,我们的表达方式竟如此地羞涩含蓄
  20. Fabric 2.x链码之综合应用

热门文章

  1. IDEA常用快捷键总结
  2. Unity3d LED数码管单表控制/多表控制
  3. java keytool 工具
  4. 软件评测师教程——软件测试基础
  5. Shell脚本学习指南 下载
  6. 数值计算方法Mathematica基本使用
  7. Windows内核结构
  8. 电力系统及其自动化毕业论文题目【精选】
  9. CEO如何做好企业战略管理?
  10. 关于航模的几点总结积累