滑块拖动验证

效果

在这里插入图片描述
在这里插入图片描述

代码

svg图标

初始图标

<svg t="1705397535958" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1492" width="200" height="200"><path d="M535.620267 225.826133l-60.347734 60.347734 225.8432 225.809066-225.8432 225.8432 60.347734 60.347734 256-256L821.794133 512 535.620267 225.826133z m-273.066667 0l-60.347733 60.347734 225.8432 225.809066-225.8432 225.8432 60.347733 60.347734 256-256L548.727467 512 262.5536 225.826133z" p-id="1493"></path></svg>

成功的图标

<svg t="1705397990586" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2463" width="200" height="200"><path d="M512 0C229.003636 0 0 229.003636 0 512s229.003636 512 512 512 512-229.003636 512-512S794.996364 0 512 0z m260.654545 425.425455l-279.272727 279.272727c-5.585455 5.585455-13.032727 9.309091-21.410909 9.309091-10.24 1.861818-20.48-0.930909-27.927273-8.378182l-175.941818-176.872727a30.906182 30.906182 0 0 1 0-43.752728l14.894546-14.894545c12.101818-12.101818 31.650909-12.101818 43.752727 0l141.498182 141.498182 244.829091-244.829091c12.101818-12.101818 31.650909-12.101818 43.752727 0L772.654545 381.672727c12.101818 12.101818 12.101818 31.650909 0 43.752728z" fill="#65B85D" p-id="2464"></path></svg>

vue组件

<template>
  <div class="slider-container">
    <div
      class="slider-left"
      :style="{
        width: moveX + 'px',
        opacity: state ? '1' : '0.8',
      }"
      v-text="text"
    ></div>
    <div class="slide" :style="{ left: moveX + 'px' }" @mousedown="handleMouseDown">
      <svg-icon :iconClass="state ? 'success' : 'drag'" className="drag" />
    </div>
    <div class="slider-right" style="padding-left: 64px">请按住滑动块,拖到最右</div>
  </div>
</template>

<script>
export default {
  name: 'LoginSlideVerify',

  data() {
    return {
      state: false, // 认证状态
      initX: 0, // 初始值
      moveX: 0,
      text: '',
    };
  },

  mounted() {},

  methods: {
    handleMouseDown(event) {
      if (this.state) return;
      this.initX = event.clientX;
      const that = this;
      document.onmousemove = function (e) {
        if (that.initX === 0) return;
        const curX = e.clientX;
        const moveX = curX - that.initX;
        that.moveX = moveX;
        if (moveX < 0) {
          that.moveX = 0;
        }
        // 认证成功
        const max = 320 - 64;
        if (moveX >= max) {
          that.moveX = max;
          that.initX = 0;
          that.state = true;
          that.text = '验证通过';
        }
      };
      document.onmouseup = function () {
        document.onmousemove = null;
        if (that.moveX < 256) {
          that.initX = 0;
          that.moveX = 0;
        }
      };
    },
  },
};
</script>

<style lang="scss" scoped>
.slider-container {
  user-select: none; // 禁止用户选中
  position: relative;
}
.slider-left {
  position: absolute;
  left: 0;
  top: 0;
  height: 48px;
  line-height: 48px;
  font-size: 13.7143px;
  color: rgb(255, 255, 255);
  font-weight: 600;
  background-color: rgb(43, 186, 111);
}
.slider-right {
  width: 320px;
  height: 48px;
  line-height: 48px;
  text-align: center;
  color: rgb(153, 153, 153);
  border: 1px solid #ccc;
  border-radius: 3px;
  box-sizing: border-box;
  background-color: rgb(238, 238, 238);
}
.slide {
  width: 64px;
  height: 48px;
  line-height: 48px;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 3px;
  border: 1px solid #ccc;
  z-index: 6;
  background-color: #fff;
  cursor: move;
  text-align: center;
  box-sizing: border-box;
  .drag {
    width: 16px;
    height: 16px;
  }
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/326602.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Kubernetes核心实战

kubernetes&#xff08;一&#xff09;概述与架构 kubernetes&#xff08;二&#xff09;创建集群 云原生实战 语雀 官网 Kubernetes 文档 | Kubernetes B站课程&#xff1a;https://www.bilibili.com/video/BV13Q4y1C7hS/?p41 1.Namespace 名称空间&#xff0c;用来对集群…

【书生·浦语】大模型实战营——LMDeploy 大模型量化部署实战

大模型部署背景 大模型部署是指将训练好的模型在特定的软硬件环境中启动的过程&#xff0c;使模型能够接收输入并返回预测结果。大模型的内存开销巨大&#xff0c;7B模型仅权重需要14G内存。另外大模型是自回归生成&#xff0c;需要缓存Attention的 k/v。 LMDeploy 简介 推理性…

SpringMVC请求源码分析

文章目录 一、SpringMVC简介1. 概念2. 从Servlet到SprigMVC3. SpringMVC的XML实现4. SpringMVC的请求流程 二、SpringMVC源码分析1. SpringMVC启动流程验证2. 细节补充 一、SpringMVC简介 1. 概念 官网介绍 Spring Web MVC is the original web framework built on the Servl…

【Leetcode】82. 删除排序链表中的重复元素 II

文章目录 题目思路代码 题目 82. 删除排序链表中的重复元素 II 题目&#xff1a;给定一个已排序的链表的头 head &#xff0c; 删除原始链表中所有重复数字的节点&#xff0c;只留下不同的数字 。返回 已排序的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,3,4,…

uni-app的项目创建和环境搭建

uni-app 是一个使用 Vue.js 开发所有前端应用的框架&#xff0c;开发者编写一套代码&#xff0c;可发布到iOS、Android、Web&#xff08;响应式&#xff09;、以及各种小程序&#xff08;微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝&#xff09;、快应用等多个平台。 第一步…

Linux的权限(1)

目录 操作系统的"外壳"程序 外壳程序是什么&#xff1f; 为什么存在外壳程序&#xff1f; 外壳程序怎么运行操作&#xff1f; 权限 什么是权限&#xff1f; 权限的本质&#xff1f; Linux中的&#xff08;人&#xff09;用户权限&#xff1f; su和su -的区别…

C for Graphic:Sliced Circle Image

不做UI不知道&#xff0c;没想到时至今日&#xff0c;ugui居然没有sliced filled image模式&#xff0c;用circle做filled&#xff0c;不能用sliced九宫格图&#xff0c;导致每次使用这个效果必须一张新图&#xff0c;何其浪费资源。 原始功能如下&#xff1a; 我…

Python数据分析案例34——IMDB电影评论情感分析(Transformer)

电影评论的情感分析 案例背景 很多同学对电影系列的数据都比较喜欢&#xff0c;那我就补充一下这个最经典的文本分类数据集&#xff0c;电影情感评论分析。用神经网络做。对国外的英文评论文本进行分类&#xff0c;看是正面还是负面情感。 数据集介绍 数据集&#xff1a;IMDb…

PY32C613单片机简单介绍,高性能 32 位 ARM M0+内核,主频最高48M

PY32C613单片机是普冉新推出的高性能的 32 位 ARM Cortex-M0 内核&#xff0c;宽电压工作范围的 MCU。价格在市场上非常有竞争性&#xff0c;外设非常的丰富。PY32C613嵌入高达 64 Kbytes flash 和 8 Kbytes SRAM 存储器&#xff0c;最高工作频率 48 MHz&#xff0c;QFN20封装。…

uniapp 图片保持宽高比,撑满屏幕宽度

image 标签添加 mode"widthFix" <image mode"widthFix" :src"detailData.coverImageURL" />image 标签添加样式 image {width: 100%;height: auto; }

x-cmd pkg | sd - sed 命令的现代化替代品

目录 简介首次用户快速上手主要特点进一步阅读 简介 sd 是一个基于正则表达式的搜索和替换文本的命令行工具&#xff0c;类似于 sed&#xff0c;但 sd 使用更简单&#xff0c;对用户更为友好。 首次用户快速上手 使用 x sd 即可自动下载并使用 在终端运行 eval "$(curl …

【分布式技术】分布式存储ceph部署

目录 一、存储的介绍 单机存储设备 单机存储的问题 商业存储 分布式存储 二、分布式存储 什么是分布式存储 分布式存储的类型 三、ceph简介 四、ceph的优点 五、ceph的架构 六、ceph的核心组件 七、OSD存储后端 八、Ceph 数据的存储过程 九、Ceph 版本发行生命周…

单片机和Linux嵌入式区别

1.单片机 单片机是一种集成电路&#xff0c;它能够在一个芯片上完成各种计算、控制和管理任务。单片机没有明确的分层&#xff0c;这是因为它通常被用来设计嵌入式系统&#xff0c;其程序结构和功能要根据具体的应用需求来设计。 在单片机的程序设计中&#xff0c;可以通过一…

SQL Server Management Studio (SSMS) 备份数据库

文章目录 前言一、在界面上操作二、使用sql 代码操作总结 前言 之前的文章记录过如何使用sqlserver复制远程数据库到本地。这里补充下如何使用SQL Server Management Studio (SSMS) 备份。 传送门&#xff1a;sqlserver复制远程数据库到本地 一、在界面上操作 在 SQL Server …

AP上线配置流程

AP工作模式 相应地&#xff0c;AR路由器的WLAN工作模式分为FAT AP和AC两种模式&#xff0c;不同的模式对应不同的使用场景。 FAT AP模式&#xff1a;AR路由器作为FAT AP&#xff0c;独立为用户提供WLAN接入服务&#xff0c;无线网络的配置在FAT AP上单独配置。FAT AP模式主要…

链上繁荣,合作不断,外媒热议波场 TRON 2023 年度成绩

近日&#xff0c;权威外媒Theblock、美联社和Decrypt等就波场 TRON 2023大事件进行了年度盘点。报道指出&#xff0c;波场TRON网络在2023年取得了一系列的发展和合作&#xff0c;提升了其在Web3领域的地位。其中&#xff0c;波场TRON网络账户数量增加了 54&#xff05;&#xf…

微信视频号提取视频工具和提取器有什么不同?怎么下载和使用!

微信视频号怎么提取视频和视频号提取器有啥区别&#xff1f;这个是最近问我特别多的小伙伴&#xff0c;今天就和大家讲讲两者有什么不同怎么使用&#xff01; 视频号视频提取工具和提取器在早期区分的是网页工具和电脑上软件使用的一种方式&#xff0c;用户通过这些方式解决自…

深度系统QT 环境搭建

1.QT安装 不折腾最新版直接去商店搜索QT安装。 2.修改su密码&#xff0c;安装需要权限 打开一个终端&#xff0c;然后输入下面的命令&#xff1a;按照提示输入密码按回车就行。 sudo passwd 回车后会出现让你输入现在这个账户的密码&#xff1a; 3.编译环境安装。 安…

DHCP详解(配置小实验)

目录 一、DHCP 1、了解DHCP 2、使用DHCP的好处 3、HDCP的分配方式 4、DHCP协议中的报文 5、DHCP的租约过程 6、安装和配置DHCP服务 一、DHCP 1、了解DHCP DHCP(Dynamic Host Configuration Protocol&#xff0c;动态主机配置协议)由Internet工作任务小组设计开发专门用…

计算机毕业设计 | vue+springboot高校宿舍管理系统(附源码)

1&#xff0c;绪论 研究背景 学生管理是学校教育系统的一个十分重要的部分&#xff0c;其中学生宿舍的管理又是学校管理中较复杂的一部分。学生宿舍不只是简单的一个居住场所&#xff0c;而是高校实施教育过程&#xff0c;培养人才不可或缺的一个硬件条件&#xff0c;是大学文…
最新文章