欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

JavaScript实现前端滑块验证效果(代码实例)

程序员文章站 2022-04-06 13:34:15
...
本篇文章就给大家介绍JavaScript实现前端滑块验证效果的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

1、前端页面应用滑块验证可以防止页面频繁向后台请求数据;

2、主要用到js事件:

onmousedown():鼠标按下时响应

onmousemove():鼠标移动时响应

onmouseup() : 鼠标弹起时响应

3、获取页面距离的语句:

e.clientX
obj.offsetWidth
obj.offsetLeft

4、代码:

html:

<p class="box">
      <p class="txt">滑块验证</p>
      <p class="btn">&gt;&gt;</p>
      <p class="bg"></p></p>

css:

*{
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }
    .box{
        position: relative;
        width:300px;
        height:30px;
        background-color: #ccc;
        margin:20px auto;
        font-size:14px;
        line-height:30px;
        box-sizing:border-box;
        z-index:1;
    }

    .txt{
        position: absolute;
        left: 50%;
        top:0;
        transform: translateX(-50%);
        color:blue;
        z-index:3;
    }

    .btn{
        position: absolute;
        top:0;
        left: 0;
        width:40px;
        height:30px;
        border:1px solid #ccc;
        background-color: #fff;
        text-align: center;
        line-height: 30px;
        cursor: move;
        box-sizing: border-box;
        z-index:4;
    }

    .bg{
        position: absolute;
        left: 0;
        top:0;
        width:0;
        height:30px;
        background-color:green;
        box-sizing: border-box;
        z-index:2;
    }

js:

window.onload = function(){
        var box = document.querySelector(".box"),
            txt = document.querySelector(".txt"),
            btn = document.querySelector(".btn"),
            bg  = document.querySelector(".bg"),
            end = false;

        btn.onmousedown = function(e){
            var e = e ||  window.event;
            var point = e.clientX -  box.offsetLeft;
            btn.onmousemove = function(e){
                var moveW = e.clientX - box.offsetLeft - point;
                btn.style.left = moveW + "px";
                bg.style.width = moveW + "px";

                if(btn.offsetLeft<=0){
                    btn.style.left = "0";
                }

                if(btn.offsetLeft>=(box.clientWidth - btn.clientWidth)){
                    btn.style.left = box.clientWidth - btn.clientWidth
                    txt.innerHTML = "验证完成";
                    btn.onmousemove = null;
                    btn.onmousedown = null;
                    end = true;
                }
            }

            btn.onmouseup = function(){
                btn.onmousemove = null;
                if(!end){
                    btn.style.left = "0";
                    bg.style.width = "0";
                }
            }
        }
    }

总结:以上就是本篇文的全部内容,代码很简单,大家可以动手试试。希望能对大家的学习有所帮助,更多相关教程请访问JavaScript视频教程jQuery视频教程bootstrap教程

以上就是JavaScript实现前端滑块验证效果(代码实例)的详细内容,更多请关注其它相关文章!