直播商城源码,验证方式之一,滑块验证

直播商城源码,验证方式之一,滑块验证实现的相关代码

1
<!doctype html><br><html><br><head><br><meta charset="utf-8"><br><title>滑动验证</title><br><script src="https://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script><br><style><br>#slider {<br>margin:100px auto;<br>width:300px;<br>height:40px;<br>position:relative;<br>border-radius:2px;<br><br>overflow:hidden;<br>text-align:center;<br>user-select:none;<br>-moz-user-select:none;<br>-webkit-user-select:none<br>}<br>#slider_bg {<br>position:absolute;<br>left:0;<br>top:0;<br>height:100%;<br>background-color:#7ac23c;<br>z-index:1<br>}<br>#label {<br>width:46px;<br>position:absolute;<br>left:0;<br>top:0;<br>height:38px;<br>line-height:38px;<br>border:1px solid #ccc;<br>background:#fff;<br>z-index:3;<br>cursor:move;<br>color:#ff9e77;<br>font-size:16px;<br>font-weight:900<br>}<br>#labelTip {<br>position:absolute;<br>left:0;<br>width:100%;<br>height:100%;<br>font-size:13px;<br>font-family:microsoft yahei,serif;<br>color:#787878;<br>line-height:38px;<br>text-align:center;<br>z-index:2<br>}<br></style><br></head><br><body><br><div id="demo"><br>    <div id="slider"><br>        <div id="slider_bg"></div><br>        <span id="label">&gt;&gt;</span> <span id="labelTip">拖动滑块验证</span><br>    </div><br></div><br> <br><script><br>(function($, window, document, undefined) {<br>    function SliderUnlock(elm, options, success) {<br>        var me = this;<br>        var $elm = me.checkElm(elm) ? $(elm) : $;<br>        success = me.checkFn(success) ? success : function() {};<br>        var opts = {<br>            successLabelTip: "Successfully Verified",<br>            duration: 200,<br>            swipestart: false,<br>            min: 0,<br>            max: $elm.width(),<br>            index: 0,<br>            IsOk: false,<br>            lableIndex: 0<br>        };<br>        opts = $.extend(opts, options || {});<br>        me.elm = $elm;<br>        me.opts = opts;<br>        me.swipestart = opts.swipestart;<br>        me.min = opts.min;<br>        me.max = opts.max;<br>        me.index = opts.index;<br>        me.isOk = opts.isOk;<br>        me.labelWidth = me.elm.find('#label').width();<br>        me.sliderBg = me.elm.find('#slider_bg');<br>        me.lableIndex = opts.lableIndex;<br>        me.success = success;<br>    }<br>    SliderUnlock.prototype.init = function() {<br>        var me = this;<br>        me.updateView();<br>        me.elm.find("#label").on("mousedown", function(event) {<br>            var e = event || window.event;<br>            me.lableIndex = e.clientX - this.offsetLeft;<br>            me.handerIn();<br>        }).on("mousemove", function(event) {<br>            me.handerMove(event);<br>        }).on("mouseup", function(event) {<br>            me.handerOut();<br>        }).on("mouseout", function(event) {<br>            me.handerOut();<br>        }).on("touchstart", function(event) {<br>            var e = event || window.event;<br>            me.lableIndex = e.originalEvent.touches[0].pageX - this.offsetLeft;<br>            me.handerIn();<br>        }).on("touchmove", function(event) {<br>            me.handerMove(event, "mobile");<br>        }).on("touchend", function(event) {<br>            me.handerOut();<br>        });<br>    };<br>    SliderUnlock.prototype.handerIn = function() {<br>        var me = this;<br>        me.swipestart = true;<br>        me.min = 0;<br>        me.max = me.elm.width();<br>    };<br>    SliderUnlock.prototype.handerOut = function() {<br>        var me = this;<br>        me.swipestart = false;<br>        if (me.index < me.max) {<br>            me.reset();<br>        }<br>    };<br>    SliderUnlock.prototype.handerMove = function(event, type) {<br>        var me = this;<br>        if (me.swipestart) {<br>            event.preventDefault();<br>            event = event || window.event;<br>            if (type == "mobile") {<br>                me.index = event.originalEvent.touches[0].pageX - me.lableIndex;<br>            } else {<br>                me.index = event.clientX - me.lableIndex;<br>            }<br>            me.move();<br>        }<br>    };<br>    SliderUnlock.prototype.move = function() {<br>        var me = this;<br>        if ((me.index + me.labelWidth) >= me.max) {<br>            me.index = me.max - me.labelWidth - 2;<br>            me.swipestart = false;<br>            me.isOk = true;<br>        }<br>        if (me.index < 0) {<br>            me.index = me.min;<br>            me.isOk = false;<br>        }<br>        if (me.index + me.labelWidth + 2 == me.max && me.max > 0 && me.isOk) {<br>            $('#label').unbind().next('#labelTip').text(me.opts.successLabelTip).css({<br>                'color': '#fff'<br>            });<br>            me.success();<br>        }<br>        me.updateView();<br>    };<br>    SliderUnlock.prototype.updateView = function() {<br>        var me = this;<br>        me.sliderBg.animate({<br>            'width': me.index<br>        }, 0);<br>        me.elm.find("#label").animate({<br>            "left": me.index + "px"<br>        }, 0)<br>    };<br>    SliderUnlock.prototype.reset = function() {<br>        var me = this;<br>        me.index = 0;<br>        me.sliderBg.animate({<br>            'width': 0<br>        }, me.opts.duration);<br>        me.elm.find("#label").animate({<br>            left: me.index<br>        }, me.opts.duration).next("#lableTip").animate({<br>            opacity: 1<br>        }, me.opts.duration);<br>        me.updateView();<br>    };<br>    SliderUnlock.prototype.checkElm = function(elm) {<br>        if ($(elm).length > 0) {<br>            return true;<br>        } else {<br>            throw "this element does not exist.";<br>        }<br>    };<br>    SliderUnlock.prototype.checkFn = function(fn) {<br>        if (typeof fn === "function") {<br>            return true;<br>        } else {<br>            throw "the param is not a function.";<br>        }<br>    };<br>    window['SliderUnlock'] = SliderUnlock;<br>})(jQuery, window, document);<br> <br>$(function() {<br>    var slider = new SliderUnlock("#slider", {<br>        successLabelTip: "验证成功"<br>    }, function() {<br>        alert("验证成功");<br>    });<br>    slider.init();<br>})<br></script><br> <br></body><br></html>

​以上就是 直播商城源码,验证方式之一,滑块验证实现的相关代码,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(67)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示