


js plug-in implements image sliding verification code example sharing
Picture sliding verification code, the logic is to judge whether it is a human operation based on the mouse sliding trajectory, coordinate position, calculation of drag speed, etc. Of course, the following code only implements the front-end part and only records the drag coordinates. This article mainly introduces the js plug-in to implement the image sliding verification code and sliding module in detail to realize the verification function. It has certain reference value. Interested friends can refer to it. I hope it can help everyone.
Let’s start with the code and make a backup record
jquery.lgymove.js
/** * Created by lgy on 2017/10/21. * 图片验证码 */ (function ($) { $.fn.imgcode = function (options) { //初始化参数 var defaults = { callback:"" //回调函数 }; var opts = $.extend(defaults, options); return this.each(function () { var $this = $(this);//获取当前对象 var html = '<p class="code-k-p">' + '<p class="code_bg"></p>' + '<p class="code-con">' + '<p class="code-img">' + '<p class="code-img-con">' + '<p class="code-mask"><img src="../img/front(1).png"></p>' + '<img src="../img/back(1).png"></p>' + '<p class="code-push"><i class="icon-login-bg icon-w-25 icon-push">刷新</i><span class="code-tip"></span></p>' + '</p>' + '<p class="code-btn">' + '<p class="code-btn-img code-btn-m"></p>' + '<span>按住滑块,拖动完成上方拼图</span>' + '</p></p></p>'; $this.html(html); //定义拖动参数 var $pMove = $(this).find(".code-btn-img"); //拖动按钮 var $pWrap = $(this).find(".code-btn");//鼠标可拖拽区域 var mX = 0, mY = 0;//定义鼠标X轴Y轴 var dX = 0, dY = 0;//定义滑动区域左、上位置 var isDown = false;//mousedown标记 if(document.attachEvent) {//ie的事件监听,拖拽p时禁止选中内容,firefox与chrome已在css中设置过-moz-user-select: none; -webkit-user-select: none; $pMove[0].attachEvent('onselectstart', function() { return false; }); } //按钮拖动事件 $pMove.on({ mousedown: function (e) { //清除提示信息 $this.find(".code-tip").html(""); var event = e || window.event; mX = event.pageX; dX = $pWrap.offset().left; dY = $pWrap.offset().top; isDown = true;//鼠标拖拽启 $(this).addClass("active"); //修改按钮阴影 $pMove.css({"box-shadow":"0 0 8px #666"}); } }); //鼠标点击松手事件 $(document).mouseup(function (e) { var lastX = $this.find(".code-mask").offset().left - dX - 1; isDown = false;//鼠标拖拽启 $pMove.removeClass("active"); //还原按钮阴影 $pMove.css({"box-shadow":"0 0 3px #ccc"}); checkcode(lastX); }); //滑动事件 $pWrap.mousemove(function (event) { var event = event || window.event; var x = event.pageX;//鼠标滑动时的X轴 if (isDown) { if(x>(dX+30) && x<dX+$(this).width()-20){ $pMove.css({"left": (x - dX - 20) + "px"});//p动态位置赋值 $this.find(".code-mask").css({"left": (x - dX-30) + "px"}); } } }); //验证数据 function checkcode(code){ var iscur=false; //模拟ajax setTimeout(function(){ if(iscur){ checkcoderesult(1,"验证通过"); $this.find(".code-k-p").hide(); opts.callback({code:1000,msg:"验证通过",msgcode:"23dfdf123"}); }else{ $pMove.addClass("error"); checkcoderesult(0,"验证不通过"); opts.callback({code:1001,msg:"验证不通过"}); setTimeout(function() { $pMove.removeClass("error"); $this.find(".code-mask").animate({"left":"0px"},200); $pMove.animate({"left": "10px"},200); },400); } },500) } //验证结果 function checkcoderesult(i,txt){ if(i==0){ $this.find(".code-tip").addClass("code-tip-red"); }else{ $this.find(".code-tip").addClass("code-tip-green"); } $this.find(".code-tip").html(txt); } }) } })(jQuery);
css part:
.code_bg{ position: fixed; top:0; left: 0; right:0; bottom:0; background-color: rgba(0,0,0,.5); z-index: 99; } .icon-login-bg{ background-image: url(../img/icon/loginicon.png); background-repeat: no-repeat; } .code-con{ position: absolute; top:100px; width: 320px; left: 50%; margin-left: -160px; background-color: #fff; z-index: 100; -moz-user-select: none; -webkit-user-select: none; } .code-img{ margin: 5px 5px; padding: 5px 5px; background-color: #f5f6f7; } .code-img img{ display: block; } .icon-w-25{ display: inline-block; width: 25px; height: 25px; text-indent: -9999px; } .icon-push{ cursor: pointer; background-position: -149px -95px; } .code-push{ height: 25px; } .code-btn{ position: relative; height: 30px; text-align: center; color: #999; margin: 10px 10px; box-sizing: border-box; background-color: #f5f6f7; border-radius: 15px; border: 1px solid #e1e1e1; } .code-btn-m{ position: absolute; width: 40px; height: 40px; border-radius: 50%; background-color: #f5f6f7; border: 1px solid #e1e1e1; z-index: 5; top:-8px; left: 10px; box-shadow: 0 0 3px #ccc; cursor: pointer; background-position: -63px 10px; } .code-btn-img{ background-image:url(../img/icon/codejt.png); background-repeat: no-repeat; } .code-btn-img.active{ background-position: -134px 10px; } .code-btn-img.error{ background-position: 8px 10px; } .code-img-con{ position: relative; } .code-mask{ position: absolute; top:0; left: 0; z-index: 10; } .code-tip{ padding-left: 10px; font-size: 12px; color: #999; } .code-tip-red{ color: red; } .code-tip-green{ color: green; }
html part:
<p id="imgscode"></p> <script> $("#imgscode").imgcode(); </script>
Rendering:
I hope it will help everyone according to the above ideas, you can try it yourself .
Related recommendations:
##Mobile phone Countdown function for sending verification code when registering
How to use PHP to send SMS verification code
The above is the detailed content of js plug-in implements image sliding verification code example sharing. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

We usually receive PDF files from the government or other agencies, some with digital signatures. After verifying the signature, we see the SignatureValid message and a green check mark. If the signature is not verified, the validity is unknown. Verifying signatures is important, let’s see how to do it in PDF. How to Verify Signatures in PDF Verifying signatures in PDF format makes it more trustworthy and the document more likely to be accepted. You can verify signatures in PDF documents in the following ways. Open the PDF in Adobe Reader Right-click the signature and select Show Signature Properties Click the Show Signer Certificate button Add the signature to the Trusted Certificates list from the Trust tab Click Verify Signature to complete the verification Let

1. After opening WeChat, click the search icon, enter WeChat team, and click the service below to enter. 2. After entering, click the self-service tool option in the lower left corner. 3. After clicking, in the options above, click the option of unblocking/appealing for auxiliary verification.

How to use WebSocket and JavaScript to implement an online speech recognition system Introduction: With the continuous development of technology, speech recognition technology has become an important part of the field of artificial intelligence. The online speech recognition system based on WebSocket and JavaScript has the characteristics of low latency, real-time and cross-platform, and has become a widely used solution. This article will introduce how to use WebSocket and JavaScript to implement an online speech recognition system.

WebSocket and JavaScript: Key technologies for realizing real-time monitoring systems Introduction: With the rapid development of Internet technology, real-time monitoring systems have been widely used in various fields. One of the key technologies to achieve real-time monitoring is the combination of WebSocket and JavaScript. This article will introduce the application of WebSocket and JavaScript in real-time monitoring systems, give code examples, and explain their implementation principles in detail. 1. WebSocket technology

Introduction to how to use JavaScript and WebSocket to implement a real-time online ordering system: With the popularity of the Internet and the advancement of technology, more and more restaurants have begun to provide online ordering services. In order to implement a real-time online ordering system, we can use JavaScript and WebSocket technology. WebSocket is a full-duplex communication protocol based on the TCP protocol, which can realize real-time two-way communication between the client and the server. In the real-time online ordering system, when the user selects dishes and places an order

PHP8 is the latest version of PHP, bringing more convenience and functionality to programmers. This version has a special focus on security and performance, and one of the noteworthy new features is the addition of verification and signing capabilities. In this article, we'll take a closer look at these new features and their uses. Verification and signing are very important security concepts in computer science. They are often used to ensure that the data transmitted is complete and authentic. Verification and signatures become even more important when dealing with online transactions and sensitive information because if someone is able to tamper with the data, it could potentially

How to use WebSocket and JavaScript to implement an online reservation system. In today's digital era, more and more businesses and services need to provide online reservation functions. It is crucial to implement an efficient and real-time online reservation system. This article will introduce how to use WebSocket and JavaScript to implement an online reservation system, and provide specific code examples. 1. What is WebSocket? WebSocket is a full-duplex method on a single TCP connection.

JavaScript and WebSocket: Building an efficient real-time weather forecast system Introduction: Today, the accuracy of weather forecasts is of great significance to daily life and decision-making. As technology develops, we can provide more accurate and reliable weather forecasts by obtaining weather data in real time. In this article, we will learn how to use JavaScript and WebSocket technology to build an efficient real-time weather forecast system. This article will demonstrate the implementation process through specific code examples. We
