直播商城源码,验证方式之一,滑块验证
2022/1/28 17:06:09
本文主要是介绍直播商城源码,验证方式之一,滑块验证,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
直播商城源码,验证方式之一,滑块验证实现的相关代码
<!doctype html> <html> <head> <meta charset="utf-8"> <title>滑动验证</title> <script src="https://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script> <style> #slider { margin:100px auto; width:300px; height:40px; position:relative; border-radius:2px; overflow:hidden; text-align:center; user-select:none; -moz-user-select:none; -webkit-user-select:none } #slider_bg { position:absolute; left:0; top:0; height:100%; background-color:#7ac23c; z-index:1 } #label { width:46px; position:absolute; left:0; top:0; height:38px; line-height:38px; border:1px solid #ccc; background:#fff; z-index:3; cursor:move; color:#ff9e77; font-size:16px; font-weight:900 } #labelTip { position:absolute; left:0; width:100%; height:100%; font-size:13px; font-family:microsoft yahei,serif; color:#787878; line-height:38px; text-align:center; z-index:2 } </style> </head> <body> <div id="demo"> <div id="slider"> <div id="slider_bg"></div> <span id="label">>></span> <span id="labelTip">拖动滑块验证</span> </div> </div> <script> (function($, window, document, undefined) { function SliderUnlock(elm, options, success) { var me = this; var $elm = me.checkElm(elm) ? $(elm) : $; success = me.checkFn(success) ? success : function() {}; var opts = { successLabelTip: "Successfully Verified", duration: 200, swipestart: false, min: 0, max: $elm.width(), index: 0, IsOk: false, lableIndex: 0 }; opts = $.extend(opts, options || {}); me.elm = $elm; me.opts = opts; me.swipestart = opts.swipestart; me.min = opts.min; me.max = opts.max; me.index = opts.index; me.isOk = opts.isOk; me.labelWidth = me.elm.find('#label').width(); me.sliderBg = me.elm.find('#slider_bg'); me.lableIndex = opts.lableIndex; me.success = success; } SliderUnlock.prototype.init = function() { var me = this; me.updateView(); me.elm.find("#label").on("mousedown", function(event) { var e = event || window.event; me.lableIndex = e.clientX - this.offsetLeft; me.handerIn(); }).on("mousemove", function(event) { me.handerMove(event); }).on("mouseup", function(event) { me.handerOut(); }).on("mouseout", function(event) { me.handerOut(); }).on("touchstart", function(event) { var e = event || window.event; me.lableIndex = e.originalEvent.touches[0].pageX - this.offsetLeft; me.handerIn(); }).on("touchmove", function(event) { me.handerMove(event, "mobile"); }).on("touchend", function(event) { me.handerOut(); }); }; SliderUnlock.prototype.handerIn = function() { var me = this; me.swipestart = true; me.min = 0; me.max = me.elm.width(); }; SliderUnlock.prototype.handerOut = function() { var me = this; me.swipestart = false; if (me.index < me.max) { me.reset(); } }; SliderUnlock.prototype.handerMove = function(event, type) { var me = this; if (me.swipestart) { event.preventDefault(); event = event || window.event; if (type == "mobile") { me.index = event.originalEvent.touches[0].pageX - me.lableIndex; } else { me.index = event.clientX - me.lableIndex; } me.move(); } }; SliderUnlock.prototype.move = function() { var me = this; if ((me.index + me.labelWidth) >= me.max) { me.index = me.max - me.labelWidth - 2; me.swipestart = false; me.isOk = true; } if (me.index < 0) { me.index = me.min; me.isOk = false; } if (me.index + me.labelWidth + 2 == me.max && me.max > 0 && me.isOk) { $('#label').unbind().next('#labelTip').text(me.opts.successLabelTip).css({ 'color': '#fff' }); me.success(); } me.updateView(); }; SliderUnlock.prototype.updateView = function() { var me = this; me.sliderBg.animate({ 'width': me.index }, 0); me.elm.find("#label").animate({ "left": me.index + "px" }, 0) }; SliderUnlock.prototype.reset = function() { var me = this; me.index = 0; me.sliderBg.animate({ 'width': 0 }, me.opts.duration); me.elm.find("#label").animate({ left: me.index }, me.opts.duration).next("#lableTip").animate({ opacity: 1 }, me.opts.duration); me.updateView(); }; SliderUnlock.prototype.checkElm = function(elm) { if ($(elm).length > 0) { return true; } else { throw "this element does not exist."; } }; SliderUnlock.prototype.checkFn = function(fn) { if (typeof fn === "function") { return true; } else { throw "the param is not a function."; } }; window['SliderUnlock'] = SliderUnlock; })(jQuery, window, document); $(function() { var slider = new SliderUnlock("#slider", { successLabelTip: "验证成功" }, function() { alert("验证成功"); }); slider.init(); }) </script> </body> </html>
以上就是 直播商城源码,验证方式之一,滑块验证实现的相关代码,更多内容欢迎关注之后的文章
这篇关于直播商城源码,验证方式之一,滑块验证的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-12百万架构师第十五课:源码分析:Spring 源码分析:SpringMVC核心原理及源码分析|JavaGuide
- 2025-01-11有哪些好用的家政团队管理工具?
- 2025-01-11营销人必看的GTM五个指标
- 2025-01-11办公软件在直播电商前期筹划中的应用与推荐
- 2025-01-11提升组织效率:上级管理者如何优化跨部门任务分配
- 2025-01-11酒店精细化运营背后的协同工具支持
- 2025-01-11跨境电商选品全攻略:工具使用、市场数据与选品策略
- 2025-01-11数据驱动酒店管理:在线工具的核心价值解析
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide