拖动验证码插件

拖动验证码插件

效果图:

在验证前,提交弹出验证失败,验证后弹出验证成功。

文件结构:

css:

#drag{ position: relative;background-color: #e8e8e8;width: 300px;height: 34px;line-height: 34px;text-align: center;
}
#drag .handler{position: absolute;top: 0px;left: 0px;width: 40px;height: 32px;border: 1px solid #ccc;cursor: move;
}
.handler_bg{background: #fff url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0ZDhlNWY5My05NmI0LTRlNWQtOGFjYi03ZTY4OGYyMTU2ZTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTEyNTVEMURGMkVFMTFFNEI5NDBCMjQ2M0ExMDQ1OUYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTEyNTVEMUNGMkVFMTFFNEI5NDBCMjQ2M0ExMDQ1OUYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2MTc5NzNmZS02OTQxLTQyOTYtYTIwNi02NDI2YTNkOWU5YmUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NGQ4ZTVmOTMtOTZiNC00ZTVkLThhY2ItN2U2ODhmMjE1NmU2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+YiRG4AAAALFJREFUeNpi/P//PwMlgImBQkA9A+bOnfsIiBOxKcInh+yCaCDuByoswaIOpxwjciACFegBqZ1AvBSIS5OTk/8TkmNEjwWgQiUgtQuIjwAxUF3yX3xyGIEIFLwHpKyAWB+I1xGSwxULIGf9A7mQkBwTlhBXAFLHgPgqEAcTkmNCU6AL9d8WII4HOvk3ITkWJAXWUMlOoGQHmsE45ViQ2KuBuASoYC4Wf+OUYxz6mQkgwAAN9mIrUReCXgAAAABJRU5ErkJggg==") no-repeat center;
}
.handler_ok_bg{background: #fff url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0ZDhlNWY5My05NmI0LTRlNWQtOGFjYi03ZTY4OGYyMTU2ZTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDlBRDI3NjVGMkQ2MTFFNEI5NDBCMjQ2M0ExMDQ1OUYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDlBRDI3NjRGMkQ2MTFFNEI5NDBCMjQ2M0ExMDQ1OUYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDphNWEzMWNhMC1hYmViLTQxNWEtYTEwZS04Y2U5NzRlN2Q4YTEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NGQ4ZTVmOTMtOTZiNC00ZTVkLThhY2ItN2U2ODhmMjE1NmU2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+k+sHwwAAASZJREFUeNpi/P//PwMyKD8uZw+kUoDYEYgloMIvgHg/EM/ptHx0EFk9I8wAoEZ+IDUPiIMY8IN1QJwENOgj3ACo5gNAbMBAHLgAxA4gQ5igAnNJ0MwAVTsX7IKyY7L2UNuJAf+AmAmJ78AEDTBiwGYg5gbifCSxFCZoaBMCy4A4GOjnH0D6DpK4IxNSVIHAfSDOAeLraJrjgJp/AwPbHMhejiQnwYRmUzNQ4VQgDQqXK0ia/0I17wJiPmQNTNBEAgMlQIWiQA2vgWw7QppBekGxsAjIiEUSBNnsBDWEAY9mEFgMMgBk00E0iZtA7AHEctDQ58MRuA6wlLgGFMoMpIG1QFeGwAIxGZo8GUhIysmwQGSAZgwHaEZhICIzOaBkJkqyM0CAAQDGx279Jf50AAAAAABJRU5ErkJggg==") no-repeat center;
}
#drag .drag_bg{background-color: #7ac23c;height: 34px;width: 0px;
}
#drag .drag_text{position: absolute;top: 0px;width: 300px;-moz-user-select: none;-webkit-user-select: none;user-select: none;-o-user-select:none;-ms-user-select:none; 
}#submits{border: 0;width: 200px;margin-top: 50px;height: 40px;}
#submits:hover{background: #7ac23c;}
View Code

darg.js:

(function($){$.fn.drag = function(options){var x, drag = this, isMove = false, defaults = {};var options = $.extend(defaults, options);//添加背景,文字,滑块var html = '<div class="drag_bg"></div>'+'<div class="drag_text" onselectstart="false" unselectable="on">拖动滑块验证</div>'+'<div class="handler handler_bg"></div>';this.html(html);var handler = drag.find('.handler');var drag_bg = drag.find('.drag_bg');var text = drag.find('.drag_text');var maxWidth = drag.width() - handler.width();  //能滑动的最大间距//鼠标按下时候的x轴的位置handler.mousedown(function(e){isMove = true;x = e.pageX - parseInt(handler.css('left'), 10);});//鼠标指针在上下文移动时,移动距离大于0小于最大间距,滑块x轴位置等于鼠标移动距离$(document).mousemove(function(e){var _x = e.pageX - x;if(isMove){if(_x > 0 && _x <= maxWidth){handler.css({'left': _x});drag_bg.css({'width': _x});}else if(_x > maxWidth){  //鼠标指针移动距离达到最大时清空事件
                    dragOk();aaa(true);}}}).mouseup(function(e){isMove = false;var _x = e.pageX - x;if(_x < maxWidth){ //鼠标松开时,如果没有达到最大距离位置,滑块就返回初始位置handler.css({'left': 0});drag_bg.css({'width': 0});}});//清空事件function dragOk(){handler.removeClass('handler_bg').addClass('handler_ok_bg');text.text('验证通过');text.attr("onselectstart","true");drag.css({'color': '#fff'});handler.unbind('mousedown');$(document).unbind('mousemove');$(document).unbind('mouseup');}};
})(jQuery);

html:

<!DOCTYPE html>
<html>
<head>
<title>jQuery仿淘宝网拖动滑块验证码代码</title>
<meta charset="utf-8">
<link href="css/drag.css" rel="stylesheet" type="text/css">
<script src="js/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="js/drag.js" type="text/javascript"></script>
</head>
<body><center><br><br><br><div id="drag"></div></center><center><button id="submits">提交</button></center><script type="text/javascript">
$('#drag').drag();
$('#submits').click(function () {if($('.drag_text').attr("onselectstart")=="true"){alert("验证成功")}else {alert("验证失败")}
});
</script><div style="text-align:center;margin:50px 0; font:normal 14px/24px 'MicroSoft YaHei';">
<p>适用浏览器:IE8、360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗.</p>
</div>
</body>
</html>

 

参考自:http://www.lanrenzhijia.com/jquery/3338.html

转载于:https://www.cnblogs.com/s313139232/p/8082194.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571406.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab padarray函数零,matlab padarray函数

1padarray功能&#xff1a;填充图像或填充数组。用法&#xff1a;B padarray(A,padsize,padval,direction)A为输入图像&#xff0c;B为填充后的图像&#xff0c;padsize给出了给出了填充的行数和列数&#xff0c;通常用[r c]来表示。padval表示填充方法。它的具体值和描述如下…

如何将已有图片做成透明水印_如何用Photoshop在图片上添加透明水印?

我们经常会在网上看到一些漂亮的图片上有添加各种水印&#xff0c;添加水印可以让图片有一个标记&#xff0c;也可以防止别人盗用你的成果。那么图片上的这些水印是怎么添加的呢&#xff1f;今天&#xff0c;小编就给大家介绍用Photoshop软件来制作图片的透明水印的教程&#x…

[知了堂学习笔记]_网络基础知识_1.OSI参考模型(网络七层协议)

OSI参考模型是国际标准化组织ISO制定的模型&#xff0c;把计算机与计算机之间的通信分成七个互相连接的协议层&#xff0c;如图&#xff1a; 1.1各层功能 1、物理层 最底层是物理层&#xff0c;这一次负责传送比特流&#xff0c;它从第二层数据接收数据帧&#xff0c;并将帧的结…

微信小程序js数组初始化_微信小程序 数组(增,删,改,查)等操作实例详解...

微信小程序 数组(增&#xff0c;删&#xff0c;改&#xff0c;查)等操作最近在做一个小程序的demo。由于不向后台请求数据&#xff0c;所以就涉及到对本地数据的操作&#xff0c;也遇到了一些坑&#xff0c;本文就以数组的增删改查为例&#xff0c;给新手分享一些经验。首先这是…

Linux版本配置环境变量,如何linux环境下配置环境变量过程图解

jdk下载地址&#xff1a;在linux环境下的root同级目录下配置software目录将下载好的jdk上传到software文件夹里面(我使用的操作软件是)到software这个目录下.输入命令:cd /software输入命令:ll就可以看到我们的jdk包解压文件解压命令 tar xzvf jdk-8u111-linux-x64.tar.gz解压之…

linux的mysql本地yum安装_linux下使用yum安装mysql

mysql yum repository提供linux平台上面的MySQL server, client和其它组件的rpm包。它支持以下平台&#xff1a;基于EL5-, EL6-, 和 EL7-的平台&#xff0c;比如对应版本的ed Hat Enterprise Linux, Oracle Linux, CentOSFedora 22, 23, 24步骤&#xff1a;一、添加mysql yum r…

A.PHP读取txt文本文件并分页显示的方法

PHP读取txt文本文件并分页显示的方法作者&#xff1a;TomRobert 字体&#xff1a;[增加 减小] 类型&#xff1a;转载 时间&#xff1a;2015-03-11 我要评论这篇文章主要介绍了PHP读取txt文本文件并分页显示的方法,涉及php操作文件的技巧,具有一定参考借鉴价值,需要的朋友可以参…

python阈值计算_opencv python 图像二值化/简单阈值化/大津阈值法

pip install matplotlib1简单的阈值化cv2.threshold第一个参数是源图像&#xff0c;它应该是灰度图像. 第二个参数是用于对像素值进行分类的阈值, 第三个参数是maxVal&#xff0c;它表示如果像素值大于(有时小于)阈值则要给出的值. OpenCV提供不同类型的阈值&#xff0c;它由函…

奔腾双核linux服务器,Dell推出双核心奔腾服务器

来自业内的消息&#xff0c;Dell近日推出了一台采用Intel双核心 Pentium D的服务器&#xff0c;这将给小型服务器带来更强的运算能力。Dell PowerEdge SC430 主要面向小型企业客户&#xff0c;价格在499美元起。相比PowerEdge SC420&#xff0c;Dell为 PowerEdge SC430 装配了两…

EasyPlayerPro Windows流媒体播放器(RTSP/RTMP/HTTP/HLS/File/TCP/RTP/UDP都能播)发布啦

EasyPlayerPro简介 EasyPlayerPro是一款全功能的流媒体播放器&#xff0c;支持RTSP、RTMP、HTTP、HLS、UDP、RTP、File等多种流媒体协议播放、支持本地文件播放&#xff0c;支持本地抓拍、本地录像、播放旋转、多屏播放等多种功能特性&#xff0c;核心基于ffmpeg&#xff0c;稳…

github 思维导图开元软件_Mymind教学系列--Github上的免费且强大思维导图工具-(一)...

How many 0‘s?Time Limit: 1000MSMemory Limit: 65536KTotal Submissions: 2844Accepted: 1506DescriptionA Benedict monk No.16 writes down the decimal representations of all natural numbers between and including m and n, m ≤ n. How many 0‘s will he write dow…

linux jlink软件安装,LINUX下安装JLINK

确认是否安装libusb$ dpkg -l | grep libusb如果有libusb相关信息&#xff0c;说明已经安装了$ dpkg -l | grep libusbii libusb-0.1-4 2:0.1.12-20 userspace USB programming libraryii libusb-1.0-0 2:1.0.9~rc3-2ubuntu1 userspace USB programming libraryii libusb-dev 2…

tcpdump记录

tcpdump -i eth0 -nn -A -X host 192.168.20.82 and port 9080 -i&#xff1a;interface 监听的网卡。-nn&#xff1a;表示以ip和port的方式显示来源主机和目的主机&#xff0c;而不是用主机名和服务。-A&#xff1a;以ascii的方式显示数据包&#xff0c;抓取web数据时很有用。…

abortonerror_如何在多项目目录顶层的Android Gradle Plugin中禁用lint abortOnError

我有一个顶级的Android Gradle项目.这个项目下面嵌套了多个子项目(有时它们是2级深),即&#xff1a;top level project|project1vendor libraries|lib1lib2lint正在中断一些图书馆项目的建设.我可以编辑每个图书馆项目的build.gradle来解决问题android {lintOptions {abortOnEr…

linux权限源码分析,Linux基础之文件权限详解

Linux中对于权限的制定虽然没有Windows的那么精细&#xff0c;但是如果你了解并掌握Linux中文件的权限知识&#xff0c;也可以像Windows那样对权限做到精确配置。Linux中的文件权限是什么&#xff1f;如何查看Linux中的文件权限[[email protected] test]# ll -d /test/drwxr-xr…

Vue工程模板文件 webpack打包

1、github github地址&#xff1a;https://github.com/MengFangui/VueProjectTemplate 2、webpack配置 &#xff08;1&#xff09;基础配置webpack.base.config.js const path require(path); //处理共用、通用的js const webpack require(webpack); //css单独打包 const Ext…

flutter的按钮如何变为不可选中_如何在Flutter中禁用按钮?

小编典典我想你可能要出台一些辅助功能&#xff0c;以build您的按钮&#xff0c;以及与一些属性键关机的沿有状态的部件。使用StatefulWidget / State并创建一个变量来保存您的条件(例如isButtonDisabled)最初将其设置为true(如果您要这样做)呈现按钮时&#xff0c;请勿将onPre…

linux下toe网卡驱动,toe命令是干什么的,有没有大神解答一下

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼[lHP14 ~]$ toe -as--> /etc/terminfo----> /usr/share/terminfo--*-: Eterm Eterm with xterm-style color support (X Window System)--*-: Eterm-256color Eterm with xterm 256-colors--*-: Eterm-88color Eterm with 88…

ALSA声卡笔记2---ASoC驱动框架

1、简单了解一下ASOC 在嵌入式系统里面的声卡驱动为ASOC&#xff08;ALSA System on Chip&#xff09; &#xff0c;它是在ALSA 驱动程序上封装的一层 分为3大部分&#xff0c;Machine&#xff0c;Platform和Codec ,三部分的关系如下图所示&#xff1a;其中Machine是指我们的…

举例说明语言接触会造成哪些结果_语言学概论全真模拟演练(二)

第一部分选择题(30分)一、单项选择题(本大题共20小题&#xff0c;每小题1分&#xff0c;共20分。在每小题列出的四个备选项中只有一个是符合题目要求的&#xff0c;请将其代码填写在题后的括号内&#xff0c;错选、多选或来选均无分。)1.语言符号可变性的根本原因在于语言符号的…