首页 > 其他分享 >js滑动验证

js滑动验证

时间:2022-10-30 20:33:13浏览次数:60  
标签:style 验证 px js nav2 nav 滑动 div document

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div{
             width: 1000px;
             height: 100px;
             border: 1px solid green;
             position: relative;
             text-align: center;
             line-height: 100px;
             /* pointer-events: none; */
        }
        nav{
            width:100px ;
            height: 100px;
            border: 1px solid black;
            line-height: 100px;
            text-align: center;
            background-color: white;
            color: black;

       
           
         }
         div nav:nth-child(2){
             position: absolute;
             top: 0px;
             background-color:  green;
            
             z-index: 9991;
             opacity: 0.5;
         }
         div nav:nth-child(1){
              position: absolute;
             z-index: 9999;
             /* font-size: 40px; */
           
          
         }
        
         div nav:nth-child(3){
              width: 1000px;
              height: 100px;
              position: absolute;
             z-index: 999;
             background-color: gray;
             color: white;
           
          
         }
         
         
    </style>
</head>
<body>
    <div>
        <nav>滑动</nav>
        <nav></nav>
        <nav>滑动</nav>
    </div>
    <button>重置</button>
    <script>
        //  思路   
        // 一个大的div包括三个nav  三个nav设置绝对定位 
        //  用到了 事件对象e   onm ousedown鼠标按下   鼠标弹起   鼠 标移开
        // 先获取元素  
        // 给元素设置事件  写到一个njinio函数里面 

        //  移动滑块到一定的位置  解除鼠标事件  提示验证成功

        // 给button设置一个  重置按钮    重新调用事件  
         var nav=document.querySelectorAll('nav')[0]
         var nav2=document.querySelectorAll('nav')[1]
         var nav3=document.querySelectorAll('nav')[2]

         var button=document.querySelectorAll('button')[0]

         var div=document.querySelector('div')
         

         function njinio(){
         nav.onmousedown = function () {
              nav.style.transition=null
               nav2.style.transition=null
              document.onmousemove = function (e) {
                      var x=e.pageX-50
                      var y=e.pageY-50

                      if (x<=0){   //不能超过 div left
                           x=0
                      }
                      if (x>=900){
                          x=900

                            // 解除事件
                          nav.innerText='验证成功'
                          nav.style.color=' green'
                          document.onmousemove=null
                          nav3.innerText='验证通过'
                          nav.onmouseup=null
                          nav.onmousedown=null
                          div.onmouseout=null
                          console.log('ok');
                      }
                      if (y<=0){ //设置滑块不能超过div的 顶部
                          y=0

                      }else if (y>=0){  //设置滑块不能超过div的 底部
                          y=0
                      }
                      nav.style.left=x+'px'
                      nav2.style.width=x+'px'
                      nav.style.top=y+'px'

              }
              
         }
         nav.onmouseup = function () {
               nav.style.transition='0.5s'
               nav2.style.transition='0.5s'
               nav.style.left=0+'px'
               nav2.style.width=0+'px'

               nav.innerText='滑动'
               nav.style.color="black"
              document.onmousemove=null  //删除鼠标移动事件
         }
         div.onmouseout = function (){
               nav.style.transition='0.5s'
               nav2.style.transition='0.5s'
               nav.style.left=0+'px'
               nav2.style.width=0+'px'
                document.onmousemove=null // //删除鼠标移动事件
         }
        }
        njinio()
         button.onclick = function () {
               nav.style.left=0+'px'
               nav2.style.width=0+'px'

               nav.innerText='滑动'
               nav3.innerText='滑动'
               nav.style.color="black"
               njinio()

         }

    </script>
</body>
</html>

 

标签:style,验证,px,js,nav2,nav,滑动,div,document
From: https://www.cnblogs.com/xxh12/p/16842155.html

相关文章

  • js canvas
      <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"......
  • js复习
    记录那些小小的JS书面知识JS的组成JS语法(ECMAScript),页面文档对象模型(DOM),浏览器对象模型(BOM)ECMAScript:ECMAScript规定了JS的编程语法和基础核心知识,是所有浏......
  • js图片格式转换(File、blob、二进制)
    一、File转Blob​​MDN文档createObjectURL​​​​​​<buttonclass="btn"onclick="openFile()">点我</button>functionopenFile(){varinput=document.createEle......
  • springboot~写一个从excel读取json到List<Map>的方法
    excel读出来的json,它是一个字符串,不是标准json,所以需要对字符串字段进行解析复杂的excel如图通过poi解析json,通过jackson完成对字段的解析publicstaticList<Map<String,O......
  • Python接入微信公众号Token验证
    注意点官方示例是Pthon2版本的,如果是Python3版本需要有改动验证成功返回echostr要是数字格式的公众号侧配置(公众号后台-基本配置)服务器侧配置代码部分......
  • 数据验证
    日常项目开发中,对于前端提交的表单I后台接口接收到表单数据后,为了程序的严谨性,通常后端会加入业务参数的合法校验操作来避免程序的非技术性bug,这里对于客户端提交的数据......
  • cryptoJs DES_CBC_Pkcs7 转成 Java
    前端DES加密:importcryptoJsfrom'crypto-js';//DES加密functionencrypt(message,key,iv){//字符串转16进制constkeyHex=cryptoJs.enc.Utf8.parse......
  • js操作摄像头进行拍照
    MDN文档-getUserMedia介绍<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><m......
  • three.js 小车模型的基本结构
    基本结构代码import*asTHREEfrom'three'importStatfrom'three/examples/jsm/libs/stats.module'import{OrbitControls}from'three/examples/jsm/control......
  • 图解JS事件对象screenX、clientX、pageX, offsetX区别
    screenX、clientX、pageX和offsetX的区别1、screenX和screenY参照点:电脑屏幕左上角screenX:鼠标点击位置相对于电脑屏幕左上角的水平偏移量screenY:鼠标点击位置相对......