> 웹 프론트엔드 > JS 튜토리얼 > JavaScript는 프런트 엔드 슬라이더 확인 효과를 구현합니다(코드 예)

JavaScript는 프런트 엔드 슬라이더 확인 효과를 구현합니다(코드 예)

青灯夜游
풀어 주다: 2018-10-16 17:57:08
앞으로
3288명이 탐색했습니다.

本篇文章就给大家介绍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는 프런트 엔드 슬라이더 확인 효과를 구현합니다(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿