拖动滑块验证是现在的网站随处可见的,各式各样的拖动法都有。

下面实现的是某宝的拖动滑块验证:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title><style type="text/css">.drag{position: relative;width: 300px;height: 34px;background-color: #e8e8e8;line-height: 34px;}.bg{position: absolute;width: 40px;height: 100%;background-color: #7ac23c;}.text{position: absolute;width: 100%;margin: 0;text-align: center;}.btn{position: absolute;width: 40px;height: 32px;background: #fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0ZDhlNWY5My05NmI0LTRlNWQtOGFjYi03ZTY4OGYyMTU2ZTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTEyNTVEMURGMkVFMTFFNEI5NDBCMjQ2M0ExMDQ1OUYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTEyNTVEMUNGMkVFMTFFNEI5NDBCMjQ2M0ExMDQ1OUYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2MTc5NzNmZS02OTQxLTQyOTYtYTIwNi02NDI2YTNkOWU5YmUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NGQ4ZTVmOTMtOTZiNC00ZTVkLThhY2ItN2U2ODhmMjE1NmU2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+YiRG4AAAALFJREFUeNpi/P//PwMlgImBQkA9A+bOnfsIiBOxKcInh+yCaCDuByoswaIOpxwjciACFegBqZ1AvBSIS5OTk/8TkmNEjwWgQiUgtQuIjwAxUF3yX3xyGIEIFLwHpKyAWB+I1xGSwxULIGf9A7mQkBwTlhBXAFLHgPgqEAcTkmNCU6AL9d8WII4HOvk3ITkWJAXWUMlOoGQHmsE45ViQ2KuBuASoYC4Wf+OUYxz6mQkgwAAN9mIrUReCXgAAAABJRU5ErkJggg==) center no-repeat;border: 1px solid #ccc;cursor: pointer;}</style>
</head>
<body><div class="drag"><div class="bg"></div><p class="text">拖动滑块验证</p><div class="btn"></div></div><script>var $ = function(selector){return document.querySelector(selector);},box = $('.drag'),//容器
        bg = $('.bg'),//绿色背景
        text = $('.text'),//文字
        btn = $('.btn'),//拖动按钮
        done = false;//是否通过验证
btn.onmousedown = function(e){var e = e || window.event;var posX = e.clientX - this.offsetLeft;btn.onmousemove = function(e){var e = e || event;var x = e.clientX - posX;this.style.left = x + 'px';bg.style.width = this.offsetLeft + 'px';// 通过验证if(x >= box.offsetWidth - btn.offsetWidth){done = true;btn.onmousedown = null;btn.onmousemove = null;text.innerHTML = '通过验证';}};document.onmouseup = function(){btn.onmousemove = null;btn.onmouseup = null;if(done)return;btn.style.left = 0;bg.style.width = 0;}};text.onmousedown = function(){return false;}</script>
</body>
</html>

由于是原生js实现的,因此没有加上动画效果,不然代码量太大。

代码简单,直接看下结构就明了了。

转载于:https://www.cnblogs.com/11lang/p/6819142.html

原生js实现拖动滑块验证相关推荐

  1. 纯HTML和JS实现拖动滑块验证效果

    效果展示: 代码: index.html <!DOCTYPE html> <html lang="en"><head><meta char ...

  2. 拖动滑块验证——原生JS

    ** 拖动滑块验证--原生JS ** 大体思路: 1,拖动滑块验证我们首先要分析需要什么事件,怎么触发拖动滑块. 2,首先需要点击事件,当你点击鼠标的时候获取到一个X轴的距离. 3,还需要一个鼠标移动 ...

  3. css3 滑动验证,Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)

    vue验证滑块功能,在生活中很多地方都可以见到,那么使用起来非常方便,基于vue如何实现滑块验证呢?下面通过代码给大家讲解. 效果图如下所示: 拖动前 拖动后 代码引用的css与js都是线上的 将代码 ...

  4. jQuery手机触屏拖动滑块验证跳转插件

    HTML: <!DOCTYPE html> <html lang="en"> <head> <title>jQuery手机触屏拖动滑 ...

  5. 拖动滑块验证--vue实现

    代码引用的css与js都是线上的 将代码全部复制到一个html中可以直接打开,极其简单. 来分析一下代码 底色div上放了一个变色div再放一个提示字的div最后加一个滑块div 给滑块div绑定鼠标 ...

  6. 小程序 拖动滑块验证(自定义组件 插件分享)

    效果图: 文章目录: #1 创建组件 #2 组件编码 MoveVerify.wxss MoveVerify.wxml MoveVerify.js #3 页面引用 在页面的 json 文件中引用组件 在 ...

  7. JavaScript实现拖动滑块验证(方法已封装)

    前提 之前写了一篇博文,题目是<JavaScript实现拖动滑块验证>,里面都是用最简单的方式实现的.后来,群里大神推荐了一款unlock.js插件,称作幻灯片解锁插件.在这里附上它的gi ...

  8. jQuery拖动滑块验证样式

    样式: 目录结构: HTML代码: <!DOCTYPE html> <html><head><title>jQuery仿淘宝网拖动滑块验证码代码< ...

  9. 微信小程序拖动滑块验证

    index.wxml <movable-area class="content" style="width:{{area_width}}%">拖动滑 ...

最新文章

  1. Debian 9 Samba共享的一个问题总结
  2. JAVA class.getResource()的用法
  3. python自动测试e_python实现hive自动化测试
  4. Emmet插件:HTML/CSS代码快速编写神器
  5. 5年程序员生涯,使用的最频繁的Git 命令总结
  6. CSS3的弹性盒子flex详解(2)
  7. java面试题11 牛客:如下语句通过算术运算和逻辑运算之后i和 j的结果是
  8. WEKA “Detailed Accuracy By Class”和“Confusion Matrix”含义
  9. ffmpeg编解码详细过程
  10. 超强Python入门基础知识总结!是时候学起来了
  11. 【python】使用枚举类
  12. C++ Qt学习笔记(3)QT中的文本处理
  13. python能自学成功吗-为什么那么多自学Python的后来都放弃了,总结起来就这些原因...
  14. LaTeX 切换其它另外的期刊会议模板
  15. java怎么将文件传到服务器,Java文件传到服务器
  16. insert触发器实例
  17. A+B 问题【OJ 示例题目】
  18. 技术博客那些事儿-如何写好博客
  19. 漫谈程序猿系列:怎么告别“混日子”
  20. [理财]:如何稳步的实现财务自由?

热门文章

  1. 一步搞定WIN10桌面快捷方式图标显示小白块如何去除
  2. Android Studio gradle下载依赖包失败的解决办法
  3. 关于centos安装MT7601U无线网卡并配置参数
  4. 后台管理系统的权限以及vue处理权限的思路
  5. 华为鸿蒙OS终端荣耀智慧屏,全球首款鸿蒙OS终端荣耀智慧屏正式发布
  6. html语言ppt,HTML语言.ppt
  7. 软件工程--理论与实践 微课视频第二版 吕云翔 答案(应用 选择 判断)
  8. 6大Word报告模板 , 这个年底,不再熬夜加班写材料
  9. 从局域网监控到广域网实时监控的实现
  10. 面向对象程序设计方法概述